/**
 * @file
 * @brief Hardcoded quadrature rules for the triangle, generated
 * using external program.
 * @author Raffael Casagrande
 * @date   2018-08-25 05:22:31
 * @copyright MIT License
 */

#include <lf/base/base.h>
#include "quad_rule.h"

namespace lf::quad::detail {

// clang-format off

template <base::RefElType REF_EL, int Order>
QuadRule HardcodedQuadRule();

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 1>() { // NOLINT
  Eigen::MatrixXd points(2, 1);
  Eigen::VectorXd weights(1);

  points(0, 0) = 0.33333333333333325932;
  points(1, 0) = 0.33333333333333342585;

  weights(0) = 0.5;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 1);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 2>() { // NOLINT
  Eigen::MatrixXd points(2, 3);
  Eigen::VectorXd weights(3);

  points(0, 0) = 0.1666666666666666019;
  points(1, 0) = 0.16666666666666679619;
  points(0, 1) = 0.66666666666666651864;
  points(1, 1) = 0.16666666666666665741;
  points(0, 2) = 0.1666666666666668517;
  points(1, 2) = 0.66666666666666674068;

  weights(0) = 0.16666666666666665741;
  weights(1) = 0.16666666666666665741;
  weights(2) = 0.16666666666666665741;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 2);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 4>() { // NOLINT
  Eigen::MatrixXd points(2, 6);
  Eigen::VectorXd weights(6);

  points(0, 0) = 0.4459484909159648347;
  points(1, 0) = 0.10810301816807028896;
  points(0, 1) = 0.44594849091596489021;
  points(1, 1) = 0.44594849091596494572;
  points(0, 2) = 0.10810301816807019182;
  points(1, 2) = 0.44594849091596505675;
  points(0, 3) = 0.091576213509770659771;
  points(1, 3) = 0.091576213509770909571;
  points(0, 4) = 0.8168475729804584029;
  points(1, 4) = 0.091576213509770715282;
  points(0, 5) = 0.091576213509770965082;
  points(1, 5) = 0.81684757298045851392;

  weights(0) = 0.11169079483900574978;
  weights(1) = 0.11169079483900574978;
  weights(2) = 0.11169079483900574978;
  weights(3) = 0.054975871827660942326;
  weights(4) = 0.054975871827660942326;
  weights(5) = 0.054975871827660942326;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 4);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 5>() { // NOLINT
  Eigen::MatrixXd points(2, 7);
  Eigen::VectorXd weights(7);

  points(0, 0) = 0.10128650732345625962;
  points(1, 0) = 0.10128650732345649554;
  points(0, 1) = 0.7974269853530872032;
  points(1, 1) = 0.10128650732345624574;
  points(0, 2) = 0.10128650732345650942;
  points(1, 2) = 0.79742698535308742525;
  points(0, 3) = 0.47014206410511505396;
  points(1, 3) = 0.059715871789769885136;
  points(0, 4) = 0.47014206410511505396;
  points(1, 4) = 0.47014206410511510947;
  points(0, 5) = 0.059715871789769781053;
  points(1, 5) = 0.47014206410511527601;
  points(0, 6) = 0.33333333333333325932;
  points(1, 6) = 0.33333333333333342585;

  weights(0) = 0.062969590272413583643;
  weights(1) = 0.062969590272413583643;
  weights(2) = 0.062969590272413583643;
  weights(3) = 0.066197076394253095977;
  weights(4) = 0.066197076394253095977;
  weights(5) = 0.066197076394253095977;
  weights(6) = 0.11250000000000001665;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 5);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 6>() { // NOLINT
  Eigen::MatrixXd points(2, 12);
  Eigen::VectorXd weights(12);

  points(0, 0) = 0.21942998254978290928;
  points(1, 0) = 0.21942998254978310357;
  points(0, 1) = 0.56114003490043395939;
  points(1, 1) = 0.2194299825497829648;
  points(0, 2) = 0.21942998254978302031;
  points(1, 2) = 0.56114003490043418143;
  points(0, 3) = 0.48013796411221504323;
  points(1, 3) = 0.039724071775569962106;
  points(0, 4) = 0.48013796411221509874;
  points(1, 4) = 0.48013796411221504323;
  points(0, 5) = 0.039724071775569885778;
  points(1, 5) = 0.48013796411221526528;
  points(0, 6) = 0.14161901592396813898;
  points(1, 6) = 0.019371724361240811457;
  points(0, 7) = 0.8390092597147910114;
  points(1, 7) = 0.14161901592396811123;
  points(0, 8) = 0.019371724361240960643;
  points(1, 8) = 0.83900925971479112242;
  points(0, 9) = 0.83900925971479112242;
  points(1, 9) = 0.019371724361240811457;
  points(0, 10) = 0.14161901592396813898;
  points(1, 10) = 0.83900925971479123344;
  points(0, 11) = 0.019371724361240558188;
  points(1, 11) = 0.14161901592396844429;

  weights(0) = 0.085666562076490496147;
  weights(1) = 0.085666562076490496147;
  weights(2) = 0.085666562076490496147;
  weights(3) = 0.040365544796515481774;
  weights(4) = 0.040365544796515481774;
  weights(5) = 0.040365544796515481774;
  weights(6) = 0.020317279896830325869;
  weights(7) = 0.020317279896830325869;
  weights(8) = 0.020317279896830325869;
  weights(9) = 0.020317279896830325869;
  weights(10) = 0.020317279896830325869;
  weights(11) = 0.020317279896830325869;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 6);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 7>() { // NOLINT
  Eigen::MatrixXd points(2, 15);
  Eigen::VectorXd weights(15);

  points(0, 0) = 0.47319565368925103899;
  points(1, 0) = 0.053608692621497935904;
  points(0, 1) = 0.47319565368925103899;
  points(1, 1) = 0.4731956536892510945;
  points(0, 2) = 0.053608692621497811004;
  points(1, 2) = 0.47319565368925131654;
  points(0, 3) = 0.057797640054506320417;
  points(1, 3) = 0.05779764005450661879;
  points(0, 4) = 0.88440471989098701222;
  points(1, 4) = 0.057797640054506334295;
  points(0, 5) = 0.057797640054506604912;
  points(1, 5) = 0.88440471989098723427;
  points(0, 6) = 0.25933901186578567355;
  points(1, 6) = 0.046971206130085554897;
  points(0, 7) = 0.69368978200412878543;
  points(1, 7) = 0.25933901186578567355;
  points(0, 8) = 0.046971206130085596531;
  points(1, 8) = 0.69368978200412889645;
  points(0, 9) = 0.69368978200412878543;
  points(1, 9) = 0.046971206130085554897;
  points(0, 10) = 0.25933901186578572906;
  points(1, 10) = 0.69368978200412889645;
  points(0, 11) = 0.046971206130085429997;
  points(1, 11) = 0.25933901186578589559;
  points(0, 12) = 0.24166360639724734916;
  points(1, 12) = 0.24166360639724754344;
  points(0, 13) = 0.51667278720550513516;
  points(1, 13) = 0.24166360639724740467;
  points(0, 14) = 0.24166360639724748793;
  points(1, 14) = 0.51667278720550524618;

  weights(0) = 0.026590416648380226644;
  weights(1) = 0.026590416648380226644;
  weights(2) = 0.026590416648380226644;
  weights(3) = 0.020459085197028433617;
  weights(4) = 0.020459085197028433617;
  weights(5) = 0.020459085197028433617;
  weights(6) = 0.027877270270345543696;
  weights(7) = 0.027877270270345543696;
  weights(8) = 0.027877270270345543696;
  weights(9) = 0.027877270270345543696;
  weights(10) = 0.027877270270345543696;
  weights(11) = 0.027877270270345543696;
  weights(12) = 0.06386262428056692364;
  weights(13) = 0.06386262428056692364;
  weights(14) = 0.06386262428056692364;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 7);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 8>() { // NOLINT
  Eigen::MatrixXd points(2, 16);
  Eigen::VectorXd weights(16);

  points(0, 0) = 0.17056930775176010195;
  points(1, 0) = 0.17056930775176035175;
  points(0, 1) = 0.65886138449647946302;
  points(1, 1) = 0.17056930775176018522;
  points(0, 2) = 0.17056930775176043502;
  points(1, 2) = 0.65886138449647957405;
  points(0, 3) = 0.45929258829272312514;
  points(1, 3) = 0.081414823414553735836;
  points(0, 4) = 0.45929258829272312514;
  points(1, 4) = 0.45929258829272318065;
  points(0, 5) = 0.081414823414553666447;
  points(1, 5) = 0.45929258829272329168;
  points(0, 6) = 0.33333333333333325932;
  points(1, 6) = 0.33333333333333342585;
  points(0, 7) = 0.050547228317030859501;
  points(1, 7) = 0.050547228317031157874;
  points(0, 8) = 0.89890554336593786466;
  points(1, 8) = 0.050547228317030873379;
  points(0, 9) = 0.050547228317031289713;
  points(1, 9) = 0.89890554336593808671;
  points(0, 10) = 0.26311282963463805684;
  points(1, 10) = 0.008394777409957678016;
  points(0, 11) = 0.72849239295540424433;
  points(1, 11) = 0.26311282963463805684;
  points(0, 12) = 0.0083947774099576988327;
  points(1, 12) = 0.72849239295540446637;
  points(0, 13) = 0.72849239295540424433;
  points(1, 13) = 0.008394777409957678016;
  points(0, 14) = 0.26311282963463811235;
  points(1, 14) = 0.72849239295540435535;
  points(0, 15) = 0.0083947774099575322992;
  points(1, 15) = 0.2631128296346383344;

  weights(0) = 0.051608685267359122317;
  weights(1) = 0.051608685267359122317;
  weights(2) = 0.051608685267359122317;
  weights(3) = 0.04754581713364230966;
  weights(4) = 0.04754581713364230966;
  weights(5) = 0.04754581713364230966;
  weights(6) = 0.072157803838893586068;
  weights(7) = 0.016229248811599039648;
  weights(8) = 0.016229248811599039648;
  weights(9) = 0.016229248811599039648;
  weights(10) = 0.013615157087217496373;
  weights(11) = 0.013615157087217496373;
  weights(12) = 0.013615157087217496373;
  weights(13) = 0.013615157087217496373;
  weights(14) = 0.013615157087217496373;
  weights(15) = 0.013615157087217496373;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 8);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 9>() { // NOLINT
  Eigen::MatrixXd points(2, 19);
  Eigen::VectorXd weights(19);

  points(0, 0) = 0.48968251919873762024;
  points(1, 0) = 0.020634961602524783814;
  points(0, 1) = 0.48968251919873762024;
  points(1, 1) = 0.48968251919873773126;
  points(0, 2) = 0.020634961602524704016;
  points(1, 2) = 0.48968251919873784228;
  points(0, 3) = 0.33333333333333325932;
  points(1, 3) = 0.33333333333333342585;
  points(0, 4) = 0.18820353561903263584;
  points(1, 4) = 0.18820353561903288564;
  points(0, 5) = 0.62359292876193439525;
  points(1, 5) = 0.18820353561903271911;
  points(0, 6) = 0.1882035356190329134;
  points(1, 6) = 0.6235929287619346173;
  points(0, 7) = 0.22196298916076570573;
  points(1, 7) = 0.036838412054736313639;
  points(0, 8) = 0.74119859878449800838;
  points(1, 8) = 0.22196298916076573349;
  points(0, 9) = 0.03683841205473636915;
  points(1, 9) = 0.74119859878449811941;
  points(0, 10) = 0.74119859878449800838;
  points(1, 10) = 0.036838412054736313639;
  points(0, 11) = 0.221962989160765789;
  points(1, 11) = 0.74119859878449811941;
  points(0, 12) = 0.036838412054736133228;
  points(1, 12) = 0.22196298916076598329;
  points(0, 13) = 0.43708959149293657998;
  points(1, 13) = 0.12582081701412678454;
  points(0, 14) = 0.43708959149293657998;
  points(1, 14) = 0.437089591492936691;
  points(0, 15) = 0.12582081701412667352;
  points(1, 15) = 0.43708959149293680202;
  points(0, 16) = 0.044729513394452566355;
  points(1, 16) = 0.044729513394452878605;
  points(0, 17) = 0.91054097321109450647;
  points(1, 17) = 0.04472951339445253166;
  points(0, 18) = 0.044729513394453024322;
  points(1, 18) = 0.91054097321109461749;

  weights(0) = 0.015667350113569539216;
  weights(1) = 0.015667350113569539216;
  weights(2) = 0.015667350113569539216;
  weights(3) = 0.048567898141399425127;
  weights(4) = 0.039823869463605138241;
  weights(5) = 0.039823869463605138241;
  weights(6) = 0.039823869463605138241;
  weights(7) = 0.021641769688644688086;
  weights(8) = 0.021641769688644688086;
  weights(9) = 0.021641769688644688086;
  weights(10) = 0.021641769688644688086;
  weights(11) = 0.021641769688644688086;
  weights(12) = 0.021641769688644688086;
  weights(13) = 0.038913770502387139139;
  weights(14) = 0.038913770502387139139;
  weights(15) = 0.038913770502387139139;
  weights(16) = 0.012788837829349017361;
  weights(17) = 0.012788837829349017361;
  weights(18) = 0.012788837829349017361;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 9);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 10>() { // NOLINT
  Eigen::MatrixXd points(2, 25);
  Eigen::VectorXd weights(25);

  points(0, 0) = 0.49517345980117044579;
  points(1, 0) = 0.0096530803976590546372;
  points(0, 1) = 0.49517345980117044579;
  points(1, 1) = 0.49517345980117055682;
  points(0, 2) = 0.0096530803976589696358;
  points(1, 2) = 0.49517345980117072335;
  points(0, 3) = 0.019139415242841101295;
  points(1, 3) = 0.019139415242841410075;
  points(0, 4) = 0.96172116951431751986;
  points(1, 4) = 0.019139415242841090886;
  points(0, 5) = 0.019139415242841573139;
  points(1, 5) = 0.96172116951431751986;
  points(0, 6) = 0.13373475510086912932;
  points(1, 6) = 0.034723620482327494097;
  points(0, 7) = 0.83154162441680334883;
  points(1, 7) = 0.13373475510086912932;
  points(0, 8) = 0.034723620482327466341;
  points(1, 8) = 0.8315416244168036819;
  points(0, 9) = 0.83154162441680334883;
  points(1, 9) = 0.034723620482327494097;
  points(0, 10) = 0.13373475510086918483;
  points(1, 10) = 0.83154162441680345985;
  points(0, 11) = 0.03472362048232728593;
  points(1, 11) = 0.13373475510086943463;
  points(0, 12) = 0.33333333333333325932;
  points(1, 12) = 0.33333333333333342585;
  points(0, 13) = 0.32669313628133689331;
  points(1, 13) = 0.037582727341191703163;
  points(0, 14) = 0.63572413637747149373;
  points(1, 14) = 0.32669313628133689331;
  points(0, 15) = 0.03758272734119172398;
  points(1, 15) = 0.63572413637747149373;
  points(0, 16) = 0.63572413637747138271;
  points(1, 16) = 0.037582727341191703163;
  points(0, 17) = 0.32669313628133689331;
  points(1, 17) = 0.63572413637747149373;
  points(0, 18) = 0.037582727341191585202;
  points(1, 18) = 0.32669313628133717087;
  points(0, 19) = 0.18448501268524641894;
  points(1, 19) = 0.18448501268524664098;
  points(0, 20) = 0.63102997462950694008;
  points(1, 20) = 0.18448501268524647445;
  points(0, 21) = 0.18448501268524664098;
  points(1, 21) = 0.63102997462950716212;
  points(0, 22) = 0.42823482094371884132;
  points(1, 22) = 0.14353035811256234511;
  points(0, 23) = 0.42823482094371884132;
  points(1, 23) = 0.42823482094371889684;
  points(0, 24) = 0.14353035811256226184;
  points(1, 24) = 0.42823482094371900786;

  weights(0) = 0.0048962952492091517398;
  weights(1) = 0.0048962952492091517398;
  weights(2) = 0.0048962952492091517398;
  weights(3) = 0.0031926796150593276039;
  weights(4) = 0.0031926796150593276039;
  weights(5) = 0.0031926796150593276039;
  weights(6) = 0.014481140731628171225;
  weights(7) = 0.014481140731628171225;
  weights(8) = 0.014481140731628171225;
  weights(9) = 0.014481140731628171225;
  weights(10) = 0.014481140731628171225;
  weights(11) = 0.014481140731628171225;
  weights(12) = 0.041807437186986963484;
  weights(13) = 0.01936952454300945245;
  weights(14) = 0.01936952454300945245;
  weights(15) = 0.01936952454300945245;
  weights(16) = 0.01936952454300945245;
  weights(17) = 0.01936952454300945245;
  weights(18) = 0.01936952454300945245;
  weights(19) = 0.039316884873188642779;
  weights(20) = 0.039316884873188642779;
  weights(21) = 0.039316884873188642779;
  weights(22) = 0.037623663984271998872;
  weights(23) = 0.037623663984271998872;
  weights(24) = 0.037623663984271998872;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 10);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 11>() { // NOLINT
  Eigen::MatrixXd points(2, 28);
  Eigen::VectorXd weights(28);

  points(0, 0) = 0.030846895635587890522;
  points(1, 0) = 0.030846895635588199303;
  points(0, 1) = 0.93830620872882386507;
  points(1, 1) = 0.030846895635587880113;
  points(0, 2) = 0.030846895635588289508;
  points(1, 2) = 0.93830620872882408712;
  points(0, 3) = 0.49878016517846074374;
  points(1, 3) = 0.0024396696430785042888;
  points(0, 4) = 0.49878016517846074374;
  points(1, 4) = 0.49878016517846079925;
  points(0, 5) = 0.002439669643078429262;
  points(1, 5) = 0.49878016517846096578;
  points(0, 6) = 0.15930361983769347756;
  points(1, 6) = 0.014366662569555628884;
  points(0, 7) = 0.82632971759275086754;
  points(1, 7) = 0.15930361983769350531;
  points(0, 8) = 0.014366662569555654905;
  points(1, 8) = 0.82632971759275108958;
  points(0, 9) = 0.82632971759275086754;
  points(1, 9) = 0.014366662569555628884;
  points(0, 10) = 0.15930361983769347756;
  points(1, 10) = 0.82632971759275108958;
  points(0, 11) = 0.014366662569555377349;
  points(1, 11) = 0.15930361983769381062;
  points(0, 12) = 0.33333333333333325932;
  points(1, 12) = 0.33333333333333342585;
  points(0, 13) = 0.11320782728669387396;
  points(1, 13) = 0.11320782728669410988;
  points(0, 14) = 0.77358434542661203004;
  points(1, 14) = 0.11320782728669386008;
  points(0, 15) = 0.113207827286694096;
  points(1, 15) = 0.77358434542661225208;
  points(0, 16) = 0.4366550163931760542;
  points(1, 16) = 0.12668996721364783609;
  points(0, 17) = 0.4366550163931760542;
  points(1, 17) = 0.43665501639317610971;
  points(0, 18) = 0.12668996721364772506;
  points(1, 18) = 0.43665501639317627625;
  points(0, 19) = 0.2144834586192692627;
  points(1, 19) = 0.21448345861926942924;
  points(0, 20) = 0.57103308276146125255;
  points(1, 20) = 0.21448345861926934597;
  points(0, 21) = 0.21448345861926937372;
  points(1, 21) = 0.5710330827614614746;
  points(0, 22) = 0.31063121631346313212;
  points(1, 22) = 0.047664066972150802293;
  points(0, 23) = 0.64170471671438611416;
  points(1, 23) = 0.31063121631346313212;
  points(0, 24) = 0.04766406697215075372;
  points(1, 24) = 0.64170471671438633621;
  points(0, 25) = 0.64170471671438600314;
  points(1, 25) = 0.047664066972150802293;
  points(0, 26) = 0.31063121631346313212;
  points(1, 26) = 0.64170471671438611416;
  points(0, 27) = 0.047664066972150670454;
  points(1, 27) = 0.31063121631346340967;

  weights(0) = 0.0061246484753539817691;
  weights(1) = 0.0061246484753539817691;
  weights(2) = 0.0061246484753539817691;
  weights(3) = 0.0062327459369406913031;
  weights(4) = 0.0062327459369406913031;
  weights(5) = 0.0062327459369406913031;
  weights(6) = 0.0072788116689046240132;
  weights(7) = 0.0072788116689046240132;
  weights(8) = 0.0072788116689046240132;
  weights(9) = 0.0072788116689046240132;
  weights(10) = 0.0072788116689046240132;
  weights(11) = 0.0072788116689046240132;
  weights(12) = 0.040722567354675644202;
  weights(13) = 0.02006462119065415689;
  weights(14) = 0.02006462119065415689;
  weights(15) = 0.02006462119065415689;
  weights(16) = 0.031547436079949343901;
  weights(17) = 0.031547436079949343901;
  weights(18) = 0.031547436079949343901;
  weights(19) = 0.033922553871847574425;
  weights(20) = 0.033922553871847574425;
  weights(21) = 0.033922553871847574425;
  weights(22) = 0.020321424327943236193;
  weights(23) = 0.020321424327943236193;
  weights(24) = 0.020321424327943236193;
  weights(25) = 0.020321424327943236193;
  weights(26) = 0.020321424327943236193;
  weights(27) = 0.020321424327943236193;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 11);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 12>() { // NOLINT
  Eigen::MatrixXd points(2, 33);
  Eigen::VectorXd weights(33);

  points(0, 0) = 0.27146250701492602442;
  points(1, 0) = 0.27146250701492619095;
  points(0, 1) = 0.45707498597014772912;
  points(1, 1) = 0.27146250701492613544;
  points(0, 2) = 0.27146250701492613544;
  points(1, 2) = 0.45707498597014789565;
  points(0, 3) = 0.10925782765935419805;
  points(1, 3) = 0.10925782765935446172;
  points(0, 4) = 0.78148434468129124308;
  points(1, 4) = 0.10925782765935423968;
  points(0, 5) = 0.10925782765935448948;
  points(1, 5) = 0.78148434468129146513;
  points(0, 6) = 0.44011164865859309092;
  points(1, 6) = 0.11977670268281384591;
  points(0, 7) = 0.44011164865859309092;
  points(1, 7) = 0.44011164865859314643;
  points(0, 8) = 0.1197767026828137904;
  points(1, 8) = 0.44011164865859325745;
  points(0, 9) = 0.2554542286385173;
  points(1, 9) = 0.11629601967792664585;
  points(0, 10) = 0.62824975168355612354;
  points(1, 10) = 0.25545422863851735551;
  points(0, 11) = 0.11629601967792663197;
  points(1, 11) = 0.62824975168355623456;
  points(0, 12) = 0.62824975168355612354;
  points(1, 12) = 0.11629601967792664585;
  points(0, 13) = 0.25545422863851735551;
  points(1, 13) = 0.62824975168355623456;
  points(0, 14) = 0.1162960196779264932;
  points(1, 14) = 0.25545422863851757755;
  points(0, 15) = 0.12727971723358935674;
  points(1, 15) = 0.021382490256170633841;
  points(0, 16) = 0.85133779251023999901;
  points(1, 16) = 0.12727971723358932898;
  points(0, 17) = 0.021382490256170727516;
  points(1, 17) = 0.85133779251024022106;
  points(0, 18) = 0.85133779251023999901;
  points(1, 18) = 0.021382490256170633841;
  points(0, 19) = 0.1272797172335893845;
  points(1, 19) = 0.85133779251024022106;
  points(0, 20) = 0.021382490256170394449;
  points(1, 20) = 0.12727971723358966205;
  points(0, 21) = 0.29165567973834094495;
  points(1, 21) = 0.023034156355267176863;
  points(0, 22) = 0.68531016390639187819;
  points(1, 22) = 0.29165567973834100046;
  points(0, 23) = 0.023034156355267176863;
  points(1, 23) = 0.68531016390639210023;
  points(0, 24) = 0.68531016390639187819;
  points(1, 24) = 0.023034156355267176863;
  points(0, 25) = 0.29165567973834100046;
  points(1, 25) = 0.68531016390639198921;
  points(0, 26) = 0.023034156355267038085;
  points(1, 26) = 0.29165567973834122251;
  points(0, 27) = 0.48820375094554152584;
  points(1, 27) = 0.023592498108916913624;
  points(0, 28) = 0.48820375094554147033;
  points(1, 28) = 0.48820375094554163686;
  points(0, 29) = 0.023592498108916865052;
  points(1, 29) = 0.48820375094554174789;
  points(0, 30) = 0.024646363436335461811;
  points(1, 30) = 0.024646363436335770591;
  points(0, 31) = 0.9507072731273287225;
  points(1, 31) = 0.024646363436335451402;
  points(0, 32) = 0.024646363436335916308;
  points(1, 32) = 0.95070727312732883352;

  weights(0) = 0.031270606597951368377;
  weights(1) = 0.031270606597951368377;
  weights(2) = 0.031270606597951368377;
  weights(3) = 0.014243026034438766719;
  weights(4) = 0.014243026034438766719;
  weights(5) = 0.014243026034438766719;
  weights(6) = 0.024959167464030464212;
  weights(7) = 0.024959167464030464212;
  weights(8) = 0.024959167464030464212;
  weights(9) = 0.021613681829707093868;
  weights(10) = 0.021613681829707093868;
  weights(11) = 0.021613681829707093868;
  weights(12) = 0.021613681829707093868;
  weights(13) = 0.021613681829707093868;
  weights(14) = 0.021613681829707093868;
  weights(15) = 0.0075418387882557171367;
  weights(16) = 0.0075418387882557171367;
  weights(17) = 0.0075418387882557171367;
  weights(18) = 0.0075418387882557171367;
  weights(19) = 0.0075418387882557171367;
  weights(20) = 0.0075418387882557171367;
  weights(21) = 0.010891792519303772693;
  weights(22) = 0.010891792519303772693;
  weights(23) = 0.010891792519303772693;
  weights(24) = 0.010891792519303772693;
  weights(25) = 0.010891792519303772693;
  weights(26) = 0.010891792519303772693;
  weights(27) = 0.012133419040726012295;
  weights(28) = 0.012133419040726012295;
  weights(29) = 0.012133419040726012295;
  weights(30) = 0.003965821254986817701;
  weights(31) = 0.003965821254986817701;
  weights(32) = 0.003965821254986817701;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 12);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 13>() { // NOLINT
  Eigen::MatrixXd points(2, 37);
  Eigen::VectorXd weights(37);

  points(0, 0) = 0.49613589474104607957;
  points(1, 0) = 0.0077282105179078816257;
  points(0, 1) = 0.49613589474104602406;
  points(1, 1) = 0.49613589474104613508;
  points(0, 2) = 0.0077282105179078408597;
  points(1, 2) = 0.4961358947410462461;
  points(0, 3) = 0.4696086896534918953;
  points(1, 3) = 0.060782620693016237157;
  points(0, 4) = 0.46960868965349183979;
  points(1, 4) = 0.46960868965349200632;
  points(0, 5) = 0.06078262069301615389;
  points(1, 5) = 0.46960868965349211734;
  points(0, 6) = 0.23111028494908220088;
  points(1, 6) = 0.23111028494908236741;
  points(0, 7) = 0.53777943010183548722;
  points(1, 7) = 0.23111028494908225639;
  points(0, 8) = 0.2311102849490823119;
  points(1, 8) = 0.53777943010183559824;
  points(0, 9) = 0.29207868857663638051;
  points(1, 9) = 0.018988004383759048144;
  points(0, 10) = 0.68893330703960453665;
  points(1, 10) = 0.29207868857663643603;
  points(0, 11) = 0.018988004383759082838;
  points(1, 11) = 0.68893330703960475869;
  points(0, 12) = 0.68893330703960453665;
  points(1, 12) = 0.018988004383759048144;
  points(0, 13) = 0.29207868857663643603;
  points(1, 13) = 0.68893330703960464767;
  points(0, 14) = 0.018988004383758888549;
  points(1, 14) = 0.29207868857663671358;
  points(0, 15) = 0.33333333333333325932;
  points(1, 15) = 0.33333333333333342585;
  points(0, 16) = 0.26674525331035114917;
  points(1, 16) = 0.097736031066016554325;
  points(0, 17) = 0.63551871562363237977;
  points(1, 17) = 0.26674525331035120468;
  points(0, 18) = 0.097736031066016471058;
  points(1, 18) = 0.63551871562363260182;
  points(0, 19) = 0.63551871562363226875;
  points(1, 19) = 0.097736031066016554325;
  points(0, 20) = 0.2667452533103513157;
  points(1, 20) = 0.63551871562363226875;
  points(0, 21) = 0.097736031066016387792;
  points(1, 21) = 0.26674525331035142672;
  points(0, 22) = 0.4144775702790545191;
  points(1, 22) = 0.17104485944189090629;
  points(0, 23) = 0.4144775702790545191;
  points(1, 23) = 0.41447757027905463012;
  points(0, 24) = 0.17104485944189082303;
  points(1, 24) = 0.41447757027905468563;
  points(0, 25) = 0.11355991257213307599;
  points(1, 25) = 0.11355991257213332579;
  points(0, 26) = 0.77288017485573357046;
  points(1, 26) = 0.11355991257213307599;
  points(0, 27) = 0.1135599125721333813;
  points(1, 27) = 0.77288017485573368148;
  points(0, 28) = 0.12679977578383730408;
  points(1, 28) = 0.021966344206529250793;
  points(0, 29) = 0.8512338800096334035;
  points(1, 29) = 0.12679977578383727632;
  points(0, 30) = 0.021966344206529431204;
  points(1, 30) = 0.85123388000963351452;
  points(0, 31) = 0.8512338800096334035;
  points(1, 31) = 0.021966344206529250793;
  points(0, 32) = 0.12679977578383738734;
  points(1, 32) = 0.85123388000963351452;
  points(0, 33) = 0.021966344206529014871;
  points(1, 33) = 0.1267997757838376649;
  points(0, 34) = 0.02489593149121624438;
  points(1, 34) = 0.024895931491216549691;
  points(0, 35) = 0.95020813701756712266;
  points(1, 35) = 0.024895931491216230502;
  points(0, 36) = 0.024895931491216660714;
  points(1, 36) = 0.95020813701756734471;

  weights(0) = 0.0049707381805362930993;
  weights(1) = 0.0049707381805362930993;
  weights(2) = 0.0049707381805362930993;
  weights(3) = 0.01639062080186148157;
  weights(4) = 0.01639062080186148157;
  weights(5) = 0.01639062080186148157;
  weights(6) = 0.023031204796389117412;
  weights(7) = 0.023031204796389117412;
  weights(8) = 0.023031204796389117412;
  weights(9) = 0.0090627493231004389168;
  weights(10) = 0.0090627493231004389168;
  weights(11) = 0.0090627493231004389168;
  weights(12) = 0.0090627493231004389168;
  weights(13) = 0.0090627493231004389168;
  weights(14) = 0.0090627493231004389168;
  weights(15) = 0.02581132333214540206;
  weights(16) = 0.018605980228630761286;
  weights(17) = 0.018605980228630761286;
  weights(18) = 0.018605980228630761286;
  weights(19) = 0.018605980228630761286;
  weights(20) = 0.018605980228630761286;
  weights(21) = 0.018605980228630761286;
  weights(22) = 0.023473547771077588053;
  weights(23) = 0.023473547771077588053;
  weights(24) = 0.023473547771077588053;
  weights(25) = 0.015451548987879893185;
  weights(26) = 0.015451548987879893185;
  weights(27) = 0.015451548987879893185;
  weights(28) = 0.007696536341891086104;
  weights(29) = 0.007696536341891086104;
  weights(30) = 0.007696536341891086104;
  weights(31) = 0.007696536341891086104;
  weights(32) = 0.007696536341891086104;
  weights(33) = 0.007696536341891086104;
  weights(34) = 0.0040146998976292097225;
  weights(35) = 0.0040146998976292097225;
  weights(36) = 0.0040146998976292097225;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 13);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 14>() { // NOLINT
  Eigen::MatrixXd points(2, 42);
  Eigen::VectorXd weights(42);

  points(0, 0) = 0.4176447193404538849;
  points(1, 0) = 0.16471056131909220244;
  points(0, 1) = 0.4176447193404538849;
  points(1, 1) = 0.41764471934045405144;
  points(0, 2) = 0.16471056131909206366;
  points(1, 2) = 0.41764471934045410695;
  points(0, 3) = 0.29837288213625767774;
  points(1, 3) = 0.014646950055654476414;
  points(0, 4) = 0.6869801678080877938;
  points(1, 4) = 0.29837288213625778877;
  points(0, 5) = 0.014646950055654528455;
  points(1, 5) = 0.68698016780808801585;
  points(0, 6) = 0.6869801678080877938;
  points(1, 6) = 0.014646950055654476414;
  points(0, 7) = 0.29837288213625767774;
  points(1, 7) = 0.68698016780808801585;
  points(0, 8) = 0.014646950055654306411;
  points(1, 8) = 0.29837288213625801081;
  points(0, 9) = 0.061799883090872483049;
  points(1, 9) = 0.061799883090872795299;
  points(0, 10) = 0.87640023381825471471;
  points(1, 10) = 0.061799883090872441416;
  points(0, 11) = 0.061799883090872920199;
  points(1, 11) = 0.87640023381825482574;
  points(0, 12) = 0.33686145979634501968;
  points(1, 12) = 0.092916249356971888917;
  points(0, 13) = 0.57022229084668307753;
  points(1, 13) = 0.33686145979634507519;
  points(0, 14) = 0.092916249356971847284;
  points(1, 14) = 0.57022229084668329957;
  points(0, 15) = 0.57022229084668307753;
  points(1, 15) = 0.092916249356971888917;
  points(0, 16) = 0.33686145979634501968;
  points(1, 16) = 0.57022229084668329957;
  points(0, 17) = 0.092916249356971791773;
  points(1, 17) = 0.33686145979634518621;
  points(0, 18) = 0.2734775283088385911;
  points(1, 18) = 0.27347752830883875763;
  points(0, 19) = 0.45304494338232270678;
  points(1, 19) = 0.27347752830883870212;
  points(0, 20) = 0.27347752830883875763;
  points(1, 20) = 0.45304494338232276229;
  points(0, 21) = 0.17720553241254338728;
  points(1, 21) = 0.17720553241254358157;
  points(0, 22) = 0.6455889351749130034;
  points(1, 22) = 0.17720553241254341503;
  points(0, 23) = 0.17720553241254366483;
  points(1, 23) = 0.64558893517491311442;
  points(0, 24) = 0.019390961248700881031;
  points(1, 24) = 0.01939096124870120369;
  points(0, 25) = 0.96121807750259791181;
  points(1, 25) = 0.019390961248700881031;
  points(0, 26) = 0.019390961248701377162;
  points(1, 26) = 0.96121807750259791181;
  points(0, 27) = 0.48896391036217862203;
  points(1, 27) = 0.022072179275642787172;
  points(0, 28) = 0.48896391036217867754;
  points(1, 28) = 0.48896391036217862203;
  points(0, 29) = 0.022072179275642728191;
  points(1, 29) = 0.48896391036217884407;
  points(0, 30) = 0.17226668782135554081;
  points(1, 30) = 0.05712475740364800908;
  points(0, 31) = 0.77060855477499634603;
  points(1, 31) = 0.17226668782135556857;
  points(0, 32) = 0.057124757403648029896;
  points(1, 32) = 0.77060855477499667909;
  points(0, 33) = 0.77060855477499645705;
  points(1, 33) = 0.05712475740364800908;
  points(0, 34) = 0.17226668782135556857;
  points(1, 34) = 0.77060855477499656807;
  points(0, 35) = 0.057124757403647835607;
  points(1, 35) = 0.17226668782135584612;
  points(0, 36) = 0.11897449769695682409;
  points(1, 36) = 0.0012683309328720767002;
  points(0, 37) = 0.87975717137017106495;
  points(1, 37) = 0.11897449769695683797;
  points(0, 38) = 0.0012683309328722081055;
  points(1, 38) = 0.87975717137017117597;
  points(0, 39) = 0.87975717137017117597;
  points(1, 39) = 0.0012683309328720767002;
  points(0, 40) = 0.11897449769695694899;
  points(1, 40) = 0.87975717137017117597;
  points(0, 41) = 0.0012683309328719027942;
  points(1, 41) = 0.11897449769695717103;

  weights(0) = 0.016394176772062684505;
  weights(1) = 0.016394176772062684505;
  weights(2) = 0.016394176772062684505;
  weights(3) = 0.0072181540567669236902;
  weights(4) = 0.0072181540567669236902;
  weights(5) = 0.0072181540567669236902;
  weights(6) = 0.0072181540567669236902;
  weights(7) = 0.0072181540567669236902;
  weights(8) = 0.0072181540567669236902;
  weights(9) = 0.0072168498348883372909;
  weights(10) = 0.0072168498348883372909;
  weights(11) = 0.0072168498348883372909;
  weights(12) = 0.019285755393530348845;
  weights(13) = 0.019285755393530348845;
  weights(14) = 0.019285755393530348845;
  weights(15) = 0.019285755393530348845;
  weights(16) = 0.019285755393530348845;
  weights(17) = 0.019285755393530348845;
  weights(18) = 0.025887052253645806421;
  weights(19) = 0.025887052253645806421;
  weights(20) = 0.025887052253645806421;
  weights(21) = 0.021081294368496521913;
  weights(22) = 0.021081294368496521913;
  weights(23) = 0.021081294368496521913;
  weights(24) = 0.0024617018012000422417;
  weights(25) = 0.0024617018012000422417;
  weights(26) = 0.0024617018012000422417;
  weights(27) = 0.010941790684714451654;
  weights(28) = 0.010941790684714451654;
  weights(29) = 0.010941790684714451654;
  weights(30) = 0.012332876606281845469;
  weights(31) = 0.012332876606281845469;
  weights(32) = 0.012332876606281845469;
  weights(33) = 0.012332876606281845469;
  weights(34) = 0.012332876606281845469;
  weights(35) = 0.012332876606281845469;
  weights(36) = 0.0025051144192503372633;
  weights(37) = 0.0025051144192503372633;
  weights(38) = 0.0025051144192503372633;
  weights(39) = 0.0025051144192503372633;
  weights(40) = 0.0025051144192503372633;
  weights(41) = 0.0025051144192503372633;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 14);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 15>() { // NOLINT
  Eigen::MatrixXd points(2, 49);
  Eigen::VectorXd weights(49);

  points(0, 0) = 0.12997822993307775463;
  points(1, 0) = 0.12997822993307800443;
  points(0, 1) = 0.74004354013384421318;
  points(1, 1) = 0.12997822993307778239;
  points(0, 2) = 0.12997822993307794892;
  points(1, 2) = 0.74004354013384454625;
  points(0, 3) = 0.33333333333333325932;
  points(1, 3) = 0.33333333333333342585;
  points(0, 4) = 0.46007694929705966747;
  points(1, 4) = 0.079846101405880609558;
  points(0, 5) = 0.46007694929705966747;
  points(1, 5) = 0.46007694929705977849;
  points(0, 6) = 0.079846101405880526292;
  points(1, 6) = 0.46007694929705994502;
  points(0, 7) = 0.18232178340719129572;
  points(1, 7) = 0.084594221482191839234;
  points(0, 8) = 0.73308399511061683729;
  points(1, 8) = 0.18232178340719132348;
  points(0, 9) = 0.084594221482191922501;
  points(1, 9) = 0.73308399511061694831;
  points(0, 10) = 0.73308399511061694831;
  points(1, 10) = 0.084594221482191839234;
  points(0, 11) = 0.18232178340719135123;
  points(1, 11) = 0.73308399511061705933;
  points(0, 12) = 0.084594221482191561678;
  points(1, 12) = 0.18232178340719157328;
  points(0, 13) = 0.15020038406523872343;
  points(1, 13) = 0.016027089786345476152;
  points(0, 14) = 0.83377252614841568246;
  points(1, 14) = 0.15020038406523872343;
  points(0, 15) = 0.016027089786345594113;
  points(1, 15) = 0.8337725261484159045;
  points(0, 16) = 0.83377252614841579348;
  points(1, 16) = 0.016027089786345476152;
  points(0, 17) = 0.15020038406523883445;
  points(1, 17) = 0.8337725261484159045;
  points(0, 18) = 0.016027089786345261047;
  points(1, 18) = 0.1502003840652390565;
  points(0, 19) = 0.32311131516371266459;
  points(1, 19) = 0.097650442430242387348;
  points(0, 20) = 0.57923824240604493419;
  points(1, 20) = 0.3231113151637127201;
  points(0, 21) = 0.097650442430242345715;
  points(1, 21) = 0.57923824240604515623;
  points(0, 22) = 0.57923824240604493419;
  points(1, 22) = 0.097650442430242387348;
  points(0, 23) = 0.32311131516371266459;
  points(1, 23) = 0.57923824240604504521;
  points(0, 24) = 0.097650442430242262448;
  points(1, 24) = 0.32311131516371288663;
  points(0, 25) = 0.49168581663029720108;
  points(1, 25) = 0.016628366739405590902;
  points(0, 26) = 0.49168581663029720108;
  points(1, 26) = 0.49168581663029725659;
  points(0, 27) = 0.016628366739405514574;
  points(1, 27) = 0.49168581663029747864;
  points(0, 28) = 0.22153234079514191879;
  points(1, 28) = 0.22153234079514211308;
  points(0, 29) = 0.55693531840971599589;
  points(1, 29) = 0.22153234079514200205;
  points(0, 30) = 0.22153234079514205757;
  points(1, 30) = 0.55693531840971610691;
  points(0, 31) = 0.3969337374090605719;
  points(1, 31) = 0.20613252518187891171;
  points(0, 32) = 0.3969337374090605719;
  points(1, 32) = 0.39693373740906062741;
  points(0, 33) = 0.20613252518187877294;
  points(1, 33) = 0.39693373740906073843;
  points(0, 34) = 0.30794768148367290816;
  points(1, 34) = 0.018454251904633175302;
  points(0, 35) = 0.67359806661169385755;
  points(1, 35) = 0.30794768148367290816;
  points(0, 36) = 0.018454251904633178771;
  points(1, 36) = 0.67359806661169419062;
  points(0, 37) = 0.67359806661169396858;
  points(1, 37) = 0.018454251904633175302;
  points(0, 38) = 0.30794768148367290816;
  points(1, 38) = 0.6735980666116940796;
  points(0, 39) = 0.018454251904633067749;
  points(1, 39) = 0.30794768148367313021;
  points(0, 40) = 0.056341917696099988455;
  points(1, 40) = 0.056341917696100286828;
  points(0, 41) = 0.88731616460779971778;
  points(1, 41) = 0.056341917696099932944;
  points(0, 42) = 0.056341917696100418667;
  points(1, 42) = 0.8873161646077998288;
  points(0, 43) = 0.03803522930110928707;
  points(1, 43) = 0.0011135352740137421674;
  points(0, 44) = 0.96085123542487693715;
  points(1, 44) = 0.038035229301109294009;
  points(0, 45) = 0.0011135352740138659833;
  points(1, 45) = 0.9608512354248771592;
  points(0, 46) = 0.96085123542487704817;
  points(1, 46) = 0.0011135352740137421674;
  points(0, 47) = 0.038035229301109307887;
  points(1, 47) = 0.9608512354248771592;
  points(0, 48) = 0.0011135352740134635274;
  points(1, 48) = 0.038035229301109613198;

  weights(0) = 0.0036987520335230493831;
  weights(1) = 0.0036987520335230493831;
  weights(2) = 0.0036987520335230493831;
  weights(3) = 0.014865209874035658841;
  weights(4) = 0.010797043968219224505;
  weights(5) = 0.010797043968219224505;
  weights(6) = 0.010797043968219224505;
  weights(7) = 0.012115004391562803412;
  weights(8) = 0.012115004391562803412;
  weights(9) = 0.012115004391562803412;
  weights(10) = 0.012115004391562803412;
  weights(11) = 0.012115004391562803412;
  weights(12) = 0.012115004391562803412;
  weights(13) = 0.005614252149439028991;
  weights(14) = 0.005614252149439028991;
  weights(15) = 0.005614252149439028991;
  weights(16) = 0.005614252149439028991;
  weights(17) = 0.005614252149439028991;
  weights(18) = 0.005614252149439028991;
  weights(19) = 0.015537610235255473398;
  weights(20) = 0.015537610235255473398;
  weights(21) = 0.015537610235255473398;
  weights(22) = 0.015537610235255473398;
  weights(23) = 0.015537610235255473398;
  weights(24) = 0.015537610235255473398;
  weights(25) = 0.0079161381750108977817;
  weights(26) = 0.0079161381750108977817;
  weights(27) = 0.0079161381750108977817;
  weights(28) = 0.023143643052599038173;
  weights(29) = 0.023143643052599038173;
  weights(30) = 0.023143643052599038173;
  weights(31) = 0.023168020695603613879;
  weights(32) = 0.023168020695603613879;
  weights(33) = 0.023168020695603613879;
  weights(34) = 0.0082183810464139459007;
  weights(35) = 0.0082183810464139459007;
  weights(36) = 0.0082183810464139459007;
  weights(37) = 0.0082183810464139459007;
  weights(38) = 0.0082183810464139459007;
  weights(39) = 0.0082183810464139459007;
  weights(40) = 0.0075422371237985333034;
  weights(41) = 0.0075422371237985333034;
  weights(42) = 0.0075422371237985333034;
  weights(43) = 0.0012376330072789577374;
  weights(44) = 0.0012376330072789577374;
  weights(45) = 0.0012376330072789577374;
  weights(46) = 0.0012376330072789577374;
  weights(47) = 0.0012376330072789577374;
  weights(48) = 0.0012376330072789577374;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 15);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 16>() { // NOLINT
  Eigen::MatrixXd points(2, 55);
  Eigen::VectorXd weights(55);

  points(0, 0) = 0.41376948582708517055;
  points(1, 0) = 0.0096649544036602579034;
  points(0, 1) = 0.57656555976925472073;
  points(1, 1) = 0.41376948582708517055;
  points(0, 2) = 0.0096649544036602752506;
  points(1, 2) = 0.57656555976925472073;
  points(0, 3) = 0.57656555976925460971;
  points(1, 3) = 0.0096649544036602579034;
  points(0, 4) = 0.41376948582708517055;
  points(1, 4) = 0.57656555976925472073;
  points(0, 5) = 0.0096649544036601642283;
  points(1, 5) = 0.41376948582708539259;
  points(0, 6) = 0.30417944822947973194;
  points(1, 6) = 0.03030594335518637869;
  points(0, 7) = 0.66551460841533394142;
  points(1, 7) = 0.30417944822947973194;
  points(0, 8) = 0.03030594335518638216;
  points(1, 8) = 0.66551460841533416346;
  points(0, 9) = 0.66551460841533394142;
  points(1, 9) = 0.03030594335518637869;
  points(0, 10) = 0.30417944822947978745;
  points(1, 10) = 0.66551460841533394142;
  points(0, 11) = 0.030305943355186271138;
  points(1, 11) = 0.30417944822947995398;
  points(0, 12) = 0.066674472240238161214;
  points(1, 12) = 0.066674472240238452647;
  points(0, 13) = 0.86665105551952337226;
  points(1, 13) = 0.066674472240238133458;
  points(0, 14) = 0.066674472240238535914;
  points(1, 14) = 0.86665105551952359431;
  points(0, 15) = 0.089609089022705840089;
  points(1, 15) = 0.01081297277610375647;
  points(0, 16) = 0.89957793820119036354;
  points(1, 16) = 0.089609089022705826211;
  points(0, 17) = 0.010812972776103824124;
  points(1, 17) = 0.89957793820119058559;
  points(0, 18) = 0.89957793820119036354;
  points(1, 18) = 0.01081297277610375647;
  points(0, 19) = 0.089609089022705923355;
  points(1, 19) = 0.89957793820119058559;
  points(0, 20) = 0.01081297277610347024;
  points(1, 20) = 0.089609089022706187033;
  points(0, 21) = 0.29661537240038293728;
  points(1, 21) = 0.10665316053614848357;
  points(0, 22) = 0.59673146706346846813;
  points(1, 22) = 0.29661537240038299279;
  points(0, 23) = 0.10665316053614848357;
  points(1, 23) = 0.59673146706346869017;
  points(0, 24) = 0.59673146706346857915;
  points(1, 24) = 0.10665316053614848357;
  points(0, 25) = 0.29661537240038299279;
  points(1, 25) = 0.59673146706346857915;
  points(0, 26) = 0.10665316053614828928;
  points(1, 26) = 0.29661537240038321483;
  points(0, 27) = 0.24132168070137827165;
  points(1, 27) = 0.24132168070137846594;
  points(0, 28) = 0.51735663859724323466;
  points(1, 28) = 0.24132168070137838267;
  points(0, 29) = 0.24132168070137843818;
  points(1, 29) = 0.51735663859724334568;
  points(0, 30) = 0.41279809595522365395;
  points(1, 30) = 0.1744038080895526921;
  points(0, 31) = 0.41279809595522365395;
  points(1, 31) = 0.41279809595522376497;
  points(0, 32) = 0.17440380808955260883;
  points(1, 32) = 0.41279809595522382049;
  points(0, 33) = 0.16976335515028972978;
  points(1, 33) = 0.051354315344013128086;
  points(0, 34) = 0.7788823295056971352;
  points(1, 34) = 0.16976335515028975753;
  points(0, 35) = 0.051354315344013190536;
  points(1, 35) = 0.77888232950569724622;
  points(0, 36) = 0.77888232950569724622;
  points(1, 36) = 0.051354315344013128086;
  points(0, 37) = 0.16976335515028978529;
  points(1, 37) = 0.7788823295056971352;
  points(0, 38) = 0.051354315344012982369;
  points(1, 38) = 0.16976335515029003509;
  points(0, 39) = 0.15006373658703497931;
  points(1, 39) = 0.15006373658703528462;
  points(0, 40) = 0.69987252682592970832;
  points(1, 40) = 0.15006373658703500706;
  points(0, 41) = 0.15006373658703531238;
  points(1, 41) = 0.69987252682592981934;
  points(0, 42) = 0.2140487799258472823;
  points(1, 42) = 0.0036969427073556136894;
  points(0, 43) = 0.78225427736679709056;
  points(1, 43) = 0.2140487799258472823;
  points(0, 44) = 0.0036969427073555993779;
  points(1, 44) = 0.78225427736679742363;
  points(0, 45) = 0.78225427736679709056;
  points(1, 45) = 0.0036969427073556136894;
  points(0, 46) = 0.21404877992584731006;
  points(1, 46) = 0.78225427736679720159;
  points(0, 47) = 0.0036969427073553912111;
  points(1, 47) = 0.21404877992584755986;
  points(0, 48) = 0.46954803099668496191;
  points(1, 48) = 0.060903938006630096991;
  points(0, 49) = 0.46954803099668496191;
  points(1, 49) = 0.46954803099668501742;
  points(0, 50) = 0.060903938006630020663;
  points(1, 50) = 0.46954803099668518396;
  points(0, 51) = 0.33333333333333325932;
  points(1, 51) = 0.33333333333333342585;
  points(0, 52) = 0.01704162940571827406;
  points(1, 52) = 0.017041629405718555085;
  points(0, 53) = 0.96591674118856307718;
  points(1, 53) = 0.017041629405718235896;
  points(0, 54) = 0.017041629405718683454;
  points(1, 54) = 0.96591674118856329923;

  weights(0) = 0.0040911052766110693815;
  weights(1) = 0.0040911052766110693815;
  weights(2) = 0.0040911052766110693815;
  weights(3) = 0.0040911052766110693815;
  weights(4) = 0.0040911052766110693815;
  weights(5) = 0.0040911052766110693815;
  weights(6) = 0.0069918035623267836554;
  weights(7) = 0.0069918035623267836554;
  weights(8) = 0.0069918035623267836554;
  weights(9) = 0.0069918035623267836554;
  weights(10) = 0.0069918035623267836554;
  weights(11) = 0.0069918035623267836554;
  weights(12) = 0.0062127127977805052944;
  weights(13) = 0.0062127127977805052944;
  weights(14) = 0.0062127127977805052944;
  weights(15) = 0.002875934985248579899;
  weights(16) = 0.002875934985248579899;
  weights(17) = 0.002875934985248579899;
  weights(18) = 0.002875934985248579899;
  weights(19) = 0.002875934985248579899;
  weights(20) = 0.002875934985248579899;
  weights(21) = 0.015823030840991625379;
  weights(22) = 0.015823030840991625379;
  weights(23) = 0.015823030840991625379;
  weights(24) = 0.015823030840991625379;
  weights(25) = 0.015823030840991625379;
  weights(26) = 0.015823030840991625379;
  weights(27) = 0.020592020534896275652;
  weights(28) = 0.020592020534896275652;
  weights(29) = 0.020592020534896275652;
  weights(30) = 0.020492609893407686544;
  weights(31) = 0.020492609893407686544;
  weights(32) = 0.020492609893407686544;
  weights(33) = 0.0088265405235516437854;
  weights(34) = 0.0088265405235516437854;
  weights(35) = 0.0088265405235516437854;
  weights(36) = 0.0088265405235516437854;
  weights(37) = 0.0088265405235516437854;
  weights(38) = 0.0088265405235516437854;
  weights(39) = 0.014391748351374456655;
  weights(40) = 0.014391748351374456655;
  weights(41) = 0.014391748351374456655;
  weights(42) = 0.0023073453198645672672;
  weights(43) = 0.0023073453198645672672;
  weights(44) = 0.0023073453198645672672;
  weights(45) = 0.0023073453198645672672;
  weights(46) = 0.0023073453198645672672;
  weights(47) = 0.0023073453198645672672;
  weights(48) = 0.01354683473385522724;
  weights(49) = 0.01354683473385522724;
  weights(50) = 0.01354683473385522724;
  weights(51) = 0.023113955157095675275;
  weights(52) = 0.0018945676191321112435;
  weights(53) = 0.0018945676191321112435;
  weights(54) = 0.0018945676191321112435;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 16);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 17>() { // NOLINT
  Eigen::MatrixXd points(2, 60);
  Eigen::VectorXd weights(60);

  points(0, 0) = 0.41710344436159918491;
  points(1, 0) = 0.16579311127680168569;
  points(0, 1) = 0.41710344436159918491;
  points(1, 1) = 0.41710344436159929593;
  points(0, 2) = 0.16579311127680160243;
  points(1, 2) = 0.41710344436159935144;
  points(0, 3) = 0.072505470799002380566;
  points(1, 3) = 0.011575175903180688272;
  points(0, 4) = 0.91591935329781692943;
  points(1, 4) = 0.072505470799002366689;
  points(0, 5) = 0.01157517590318085654;
  points(1, 5) = 0.91591935329781704045;
  points(0, 6) = 0.91591935329781692943;
  points(1, 6) = 0.011575175903180688272;
  points(0, 7) = 0.072505470799002436078;
  points(1, 7) = 0.91591935329781704045;
  points(0, 8) = 0.011575175903180426329;
  points(1, 8) = 0.072505470799002685878;
  points(0, 9) = 0.1803581162663705495;
  points(1, 9) = 0.18035811626637074379;
  points(0, 10) = 0.63928376746725867896;
  points(1, 10) = 0.18035811626637057725;
  points(0, 11) = 0.18035811626637082705;
  points(1, 11) = 0.63928376746725878998;
  points(0, 12) = 0.41547545929522905483;
  points(1, 12) = 0.013229672760086956529;
  points(0, 13) = 0.57129486794468409272;
  points(1, 13) = 0.41547545929522905483;
  points(0, 14) = 0.013229672760086852445;
  points(1, 14) = 0.57129486794468431476;
  points(0, 15) = 0.57129486794468409272;
  points(1, 15) = 0.013229672760086956529;
  points(0, 16) = 0.41547545929522899932;
  points(1, 16) = 0.57129486794468409272;
  points(0, 17) = 0.01322967276008682469;
  points(1, 17) = 0.41547545929522927688;
  points(0, 18) = 0.27179187005535476729;
  points(1, 18) = 0.013135870834002758359;
  points(0, 19) = 0.71507225911064242752;
  points(1, 19) = 0.27179187005535487831;
  points(0, 20) = 0.013135870834002860708;
  points(1, 20) = 0.71507225911064253854;
  points(0, 21) = 0.71507225911064242752;
  points(1, 21) = 0.013135870834002758359;
  points(0, 22) = 0.27179187005535498933;
  points(1, 22) = 0.71507225911064242752;
  points(0, 23) = 0.013135870834002555396;
  points(1, 23) = 0.27179187005535515587;
  points(0, 24) = 0.29921894247697028435;
  points(1, 24) = 0.1575054779268699745;
  points(0, 25) = 0.54327557959615968564;
  points(1, 25) = 0.29921894247697033986;
  points(0, 26) = 0.15750547792686991899;
  points(1, 26) = 0.54327557959615990768;
  points(0, 27) = 0.54327557959615968564;
  points(1, 27) = 0.1575054779268699745;
  points(0, 28) = 0.29921894247697022884;
  points(1, 28) = 0.54327557959615990768;
  points(0, 29) = 0.15750547792686983573;
  points(1, 29) = 0.29921894247697050639;
  points(0, 30) = 0.28570650243658657352;
  points(1, 30) = 0.28570650243658674006;
  points(0, 31) = 0.42858699512682668642;
  points(1, 31) = 0.28570650243658668455;
  points(0, 32) = 0.28570650243658668455;
  points(1, 32) = 0.42858699512682685295;
  points(0, 33) = 0.30628159174618652116;
  points(1, 33) = 0.067349377867361254202;
  points(0, 34) = 0.62636903038645219688;
  points(1, 34) = 0.30628159174618652116;
  points(0, 35) = 0.067349377867361281957;
  points(1, 35) = 0.62636903038645241892;
  points(0, 36) = 0.62636903038645219688;
  points(1, 36) = 0.067349377867361254202;
  points(0, 37) = 0.30628159174618652116;
  points(1, 37) = 0.62636903038645241892;
  points(0, 38) = 0.067349377867361170935;
  points(1, 38) = 0.30628159174618674321;
  points(0, 39) = 0.1687225134952594352;
  points(1, 39) = 0.078042340568282478341;
  points(0, 40) = 0.75323514593645812809;
  points(1, 40) = 0.16872251349525940745;
  points(0, 41) = 0.078042340568282519975;
  points(1, 41) = 0.75323514593645835014;
  points(0, 42) = 0.75323514593645812809;
  points(1, 42) = 0.078042340568282478341;
  points(0, 43) = 0.16872251349525940745;
  points(1, 43) = 0.75323514593645823911;
  points(0, 44) = 0.078042340568282270175;
  points(1, 44) = 0.16872251349525974051;
  points(0, 45) = 0.066654063479596806219;
  points(1, 45) = 0.066654063479597097652;
  points(0, 46) = 0.86669187304080597123;
  points(1, 46) = 0.066654063479596806219;
  points(0, 47) = 0.066654063479597125408;
  points(1, 47) = 0.86669187304080619327;
  points(0, 48) = 0.15919228747279268177;
  points(1, 48) = 0.01601764236211934353;
  points(0, 49) = 0.82479007016508798511;
  points(1, 49) = 0.15919228747279268177;
  points(0, 50) = 0.016017642362119388633;
  points(1, 50) = 0.82479007016508820715;
  points(0, 51) = 0.82479007016508798511;
  points(1, 51) = 0.01601764236211934353;
  points(0, 52) = 0.15919228747279273728;
  points(1, 52) = 0.82479007016508820715;
  points(0, 53) = 0.016017642362119166588;
  points(1, 53) = 0.15919228747279301484;
  points(0, 54) = 0.014755491660753822236;
  points(1, 54) = 0.014755491660754127548;
  points(0, 55) = 0.97048901667849196695;
  points(1, 55) = 0.014755491660753806624;
  points(0, 56) = 0.01475549166075423857;
  points(1, 56) = 0.97048901667849218899;
  points(0, 57) = 0.46559787161889026885;
  points(1, 57) = 0.068804256762219448418;
  points(0, 58) = 0.46559787161889021334;
  points(1, 58) = 0.46559787161889037987;
  points(0, 59) = 0.068804256762219379029;
  points(1, 59) = 0.4655978716188904909;

  weights(0) = 0.013655463264051053221;
  weights(1) = 0.013655463264051053221;
  weights(2) = 0.013655463264051053221;
  weights(3) = 0.0022921742008679335187;
  weights(4) = 0.0022921742008679335187;
  weights(5) = 0.0022921742008679335187;
  weights(6) = 0.0022921742008679335187;
  weights(7) = 0.0022921742008679335187;
  weights(8) = 0.0022921742008679335187;
  weights(9) = 0.013156315294008992522;
  weights(10) = 0.013156315294008992522;
  weights(11) = 0.013156315294008992522;
  weights(12) = 0.0051992199779197683165;
  weights(13) = 0.0051992199779197683165;
  weights(14) = 0.0051992199779197683165;
  weights(15) = 0.0051992199779197683165;
  weights(16) = 0.0051992199779197683165;
  weights(17) = 0.0051992199779197683165;
  weights(18) = 0.0043461072505005951885;
  weights(19) = 0.0043461072505005951885;
  weights(20) = 0.0043461072505005951885;
  weights(21) = 0.0043461072505005951885;
  weights(22) = 0.0043461072505005951885;
  weights(23) = 0.0043461072505005951885;
  weights(24) = 0.013085812967668492696;
  weights(25) = 0.013085812967668492696;
  weights(26) = 0.013085812967668492696;
  weights(27) = 0.013085812967668492696;
  weights(28) = 0.013085812967668492696;
  weights(29) = 0.013085812967668492696;
  weights(30) = 0.018858118576397641525;
  weights(31) = 0.018858118576397641525;
  weights(32) = 0.018858118576397641525;
  weights(33) = 0.011243886273345533519;
  weights(34) = 0.011243886273345533519;
  weights(35) = 0.011243886273345533519;
  weights(36) = 0.011243886273345533519;
  weights(37) = 0.011243886273345533519;
  weights(38) = 0.011243886273345533519;
  weights(39) = 0.010278949160227257575;
  weights(40) = 0.010278949160227257575;
  weights(41) = 0.010278949160227257575;
  weights(42) = 0.010278949160227257575;
  weights(43) = 0.010278949160227257575;
  weights(44) = 0.010278949160227257575;
  weights(45) = 0.0062295004011527210785;
  weights(46) = 0.0062295004011527210785;
  weights(47) = 0.0062295004011527210785;
  weights(48) = 0.0039891501029647967458;
  weights(49) = 0.0039891501029647967458;
  weights(50) = 0.0039891501029647967458;
  weights(51) = 0.0039891501029647967458;
  weights(52) = 0.0039891501029647967458;
  weights(53) = 0.0039891501029647967458;
  weights(54) = 0.0013869437888188210998;
  weights(55) = 0.0013869437888188210998;
  weights(56) = 0.0013869437888188210998;
  weights(57) = 0.01250972547524867827;
  weights(58) = 0.01250972547524867827;
  weights(59) = 0.01250972547524867827;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 17);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 18>() { // NOLINT
  Eigen::MatrixXd points(2, 67);
  Eigen::VectorXd weights(67);

  points(0, 0) = 0.38504403441316364942;
  points(1, 0) = 0.090427040354340654238;
  points(0, 1) = 0.52452892523249583512;
  points(1, 1) = 0.38504403441316370493;
  points(0, 2) = 0.090427040354340570971;
  points(1, 2) = 0.52452892523249594614;
  points(0, 3) = 0.5245289252324957241;
  points(1, 3) = 0.090427040354340654238;
  points(0, 4) = 0.38504403441316370493;
  points(1, 4) = 0.52452892523249583512;
  points(0, 5) = 0.090427040354340543216;
  points(1, 5) = 0.38504403441316387147;
  points(0, 6) = 0.47491821132404571371;
  points(1, 6) = 0.050163577351908579527;
  points(0, 7) = 0.47491821132404576922;
  points(1, 7) = 0.47491821132404576922;
  points(0, 8) = 0.050163577351908489321;
  points(1, 8) = 0.47491821132404593575;
  points(0, 9) = 0.15163850697260472522;
  points(1, 9) = 0.15163850697260503053;
  points(0, 10) = 0.69672298605479021649;
  points(1, 10) = 0.15163850697260478073;
  points(0, 11) = 0.15163850697260500278;
  points(1, 11) = 0.69672298605479043854;
  points(0, 12) = 0.047276141832651746855;
  points(1, 12) = 0.01249893248349548229;
  points(0, 13) = 0.94022492568385274136;
  points(1, 13) = 0.047276141832651753794;
  points(0, 14) = 0.012498932483495650558;
  points(1, 14) = 0.94022492568385285239;
  points(0, 15) = 0.94022492568385274136;
  points(1, 15) = 0.01249893248349548229;
  points(0, 16) = 0.047276141832651830121;
  points(1, 16) = 0.94022492568385285239;
  points(0, 17) = 0.012498932483495192591;
  points(1, 17) = 0.047276141832652079922;
  points(0, 18) = 0.33333333333333325932;
  points(1, 18) = 0.33333333333333342585;
  points(0, 19) = 0.30206195771287075447;
  points(1, 19) = 0.054011735339024299907;
  points(0, 20) = 0.64392630694810504277;
  points(1, 20) = 0.30206195771287075447;
  points(0, 21) = 0.054011735339024258273;
  points(1, 21) = 0.64392630694810515379;
  points(0, 22) = 0.64392630694810493175;
  points(1, 22) = 0.054011735339024299907;
  points(0, 23) = 0.30206195771287080998;
  points(1, 23) = 0.64392630694810493175;
  points(0, 24) = 0.054011735339024147251;
  points(1, 24) = 0.30206195771287103202;
  points(0, 25) = 0.25650615977424151559;
  points(1, 25) = 0.01050501881924196558;
  points(0, 26) = 0.73298882140651644423;
  points(1, 26) = 0.25650615977424151559;
  points(0, 27) = 0.010505018819241984662;
  points(1, 27) = 0.7329888214065167773;
  points(0, 28) = 0.73298882140651655526;
  points(1, 28) = 0.01050501881924196558;
  points(0, 29) = 0.25650615977424151559;
  points(1, 29) = 0.7329888214065167773;
  points(0, 30) = 0.010505018819241762618;
  points(1, 30) = 0.25650615977424184866;
  points(0, 31) = 0.41106710187591943839;
  points(1, 31) = 0.17786579624816106771;
  points(0, 32) = 0.41106710187591943839;
  points(1, 32) = 0.41106710187591954941;
  points(0, 33) = 0.17786579624816095668;
  points(1, 33) = 0.41106710187591966044;
  points(0, 34) = 0.17847912556588763078;
  points(1, 34) = 0.066122458028403441332;
  points(0, 35) = 0.75539841640570892789;
  points(1, 35) = 0.17847912556588760302;
  points(0, 36) = 0.066122458028403552355;
  points(1, 36) = 0.75539841640570903891;
  points(0, 37) = 0.75539841640570892789;
  points(1, 37) = 0.066122458028403441332;
  points(0, 38) = 0.1784791255658877418;
  points(1, 38) = 0.75539841640570903891;
  points(0, 39) = 0.066122458028403233166;
  points(1, 39) = 0.17847912556588793609;
  points(0, 40) = 0.26561460990537416604;
  points(1, 40) = 0.26561460990537433258;
  points(0, 41) = 0.46877078018925155689;
  points(1, 41) = 0.26561460990537422155;
  points(0, 42) = 0.26561460990537427707;
  points(1, 42) = 0.46877078018925166791;
  points(0, 43) = 0.0037589443410682042354;
  points(1, 43) = 0.003758944341068516052;
  points(0, 44) = 0.99248211131786323591;
  points(1, 44) = 0.0037589443410681955618;
  points(0, 45) = 0.0037589443410686596003;
  points(1, 45) = 0.99248211131786334693;
  points(0, 46) = 0.26857330639601378897;
  points(1, 46) = 0.14906691012577391597;
  points(0, 47) = 0.5823597834782122673;
  points(1, 47) = 0.26857330639601384448;
  points(0, 48) = 0.14906691012577388822;
  points(1, 48) = 0.58235978347821248935;
  points(0, 49) = 0.5823597834782122673;
  points(1, 49) = 0.14906691012577391597;
  points(0, 50) = 0.26857330639601378897;
  points(1, 50) = 0.58235978347821248935;
  points(0, 51) = 0.14906691012577374944;
  points(1, 51) = 0.26857330639601401101;
  points(0, 52) = 0.41106566867461835635;
  points(1, 52) = 0.011691824674667160647;
  points(0, 53) = 0.57724250665071452637;
  points(1, 53) = 0.41106566867461835635;
  points(0, 54) = 0.011691824674667117279;
  points(1, 54) = 0.57724250665071474842;
  points(0, 55) = 0.57724250665071452637;
  points(1, 55) = 0.011691824674667160647;
  points(0, 56) = 0.41106566867461846737;
  points(1, 56) = 0.57724250665071452637;
  points(0, 57) = 0.011691824674667061768;
  points(1, 57) = 0.41106566867461857839;
  points(0, 58) = 0.13277883027138928651;
  points(1, 58) = 0.014331524778941992504;
  points(0, 59) = 0.85288964494966867935;
  points(1, 59) = 0.13277883027138925875;
  points(0, 60) = 0.014331524778942228426;
  points(1, 60) = 0.85288964494966867935;
  points(0, 61) = 0.85288964494966879037;
  points(1, 61) = 0.014331524778941992504;
  points(0, 62) = 0.13277883027138925875;
  points(1, 62) = 0.85288964494966901242;
  points(0, 63) = 0.014331524778941714948;
  points(1, 63) = 0.13277883027138961958;
  points(0, 64) = 0.07243870556733275623;
  points(1, 64) = 0.072438705567333047664;
  points(0, 65) = 0.85512258886533409896;
  points(1, 65) = 0.072438705567332728474;
  points(0, 66) = 0.072438705567333172564;
  points(1, 66) = 0.85512258886533432101;

  weights(0) = 0.007664129097276562233;
  weights(1) = 0.007664129097276562233;
  weights(2) = 0.007664129097276562233;
  weights(3) = 0.007664129097276562233;
  weights(4) = 0.007664129097276562233;
  weights(5) = 0.007664129097276562233;
  weights(6) = 0.0065535137458693718676;
  weights(7) = 0.0065535137458693718676;
  weights(8) = 0.0065535137458693718676;
  weights(9) = 0.010159169422729189339;
  weights(10) = 0.010159169422729189339;
  weights(11) = 0.010159169422729189339;
  weights(12) = 0.0021087583873722194443;
  weights(13) = 0.0021087583873722194443;
  weights(14) = 0.0021087583873722194443;
  weights(15) = 0.0021087583873722194443;
  weights(16) = 0.0021087583873722194443;
  weights(17) = 0.0021087583873722194443;
  weights(18) = 0.015374260619557912622;
  weights(19) = 0.0081829542069932741793;
  weights(20) = 0.0081829542069932741793;
  weights(21) = 0.0081829542069932741793;
  weights(22) = 0.0081829542069932741793;
  weights(23) = 0.0081829542069932741793;
  weights(24) = 0.0081829542069932741793;
  weights(25) = 0.0038649176400031098021;
  weights(26) = 0.0038649176400031098021;
  weights(27) = 0.0038649176400031098021;
  weights(28) = 0.0038649176400031098021;
  weights(29) = 0.0038649176400031098021;
  weights(30) = 0.0038649176400031098021;
  weights(31) = 0.016735997029923930374;
  weights(32) = 0.016735997029923930374;
  weights(33) = 0.016735997029923930374;
  weights(34) = 0.0084558269587400296946;
  weights(35) = 0.0084558269587400296946;
  weights(36) = 0.0084558269587400296946;
  weights(37) = 0.0084558269587400296946;
  weights(38) = 0.0084558269587400296946;
  weights(39) = 0.0084558269587400296946;
  weights(40) = 0.015558198301003049388;
  weights(41) = 0.015558198301003049388;
  weights(42) = 0.015558198301003049388;
  weights(43) = 0.00026600280847389004037;
  weights(44) = 0.00026600280847389004037;
  weights(45) = 0.00026600280847389004037;
  weights(46) = 0.013796443244289724114;
  weights(47) = 0.013796443244289724114;
  weights(48) = 0.013796443244289724114;
  weights(49) = 0.013796443244289724114;
  weights(50) = 0.013796443244289724114;
  weights(51) = 0.013796443244289724114;
  weights(52) = 0.004793062237180747108;
  weights(53) = 0.004793062237180747108;
  weights(54) = 0.004793062237180747108;
  weights(55) = 0.004793062237180747108;
  weights(56) = 0.004793062237180747108;
  weights(57) = 0.004793062237180747108;
  weights(58) = 0.0038208524863598139834;
  weights(59) = 0.0038208524863598139834;
  weights(60) = 0.0038208524863598139834;
  weights(61) = 0.0038208524863598139834;
  weights(62) = 0.0038208524863598139834;
  weights(63) = 0.0038208524863598139834;
  weights(64) = 0.0068951433023834631658;
  weights(65) = 0.0068951433023834631658;
  weights(66) = 0.0068951433023834631658;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 18);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 19>() { // NOLINT
  Eigen::MatrixXd points(2, 73);
  Eigen::VectorXd weights(73);

  points(0, 0) = 0.14242228257112690692;
  points(1, 0) = 0.005005142352350435038;
  points(0, 1) = 0.85257257507652262074;
  points(1, 1) = 0.14242228257112693468;
  points(0, 2) = 0.0050051423523504445789;
  points(1, 2) = 0.85257257507652284279;
  points(0, 3) = 0.85257257507652262074;
  points(1, 3) = 0.005005142352350435038;
  points(0, 4) = 0.14242228257112693468;
  points(1, 4) = 0.85257257507652284279;
  points(0, 5) = 0.0050051423523501947788;
  points(1, 5) = 0.14242228257112726775;
  points(0, 6) = 0.05252627985410342204;
  points(1, 6) = 0.052526279854103713474;
  points(0, 7) = 0.89494744029179285061;
  points(1, 7) = 0.05252627985410342204;
  points(0, 8) = 0.052526279854103852252;
  points(1, 8) = 0.89494744029179296163;
  points(0, 9) = 0.060083899962702351505;
  points(1, 9) = 0.0097770614386768570775;
  points(0, 10) = 0.93013903859862079315;
  points(1, 10) = 0.060083899962702337627;
  points(0, 11) = 0.0097770614386770704485;
  points(1, 11) = 0.93013903859862079315;
  points(0, 12) = 0.93013903859862079315;
  points(1, 12) = 0.0097770614386768570775;
  points(0, 13) = 0.060083899962702469466;
  points(1, 13) = 0.93013903859862079315;
  points(0, 14) = 0.0097770614386766679926;
  points(1, 14) = 0.060083899962702719266;
  points(0, 15) = 0.13070066996053453234;
  points(1, 15) = 0.039142449434608865555;
  points(0, 16) = 0.83015688060485648414;
  points(1, 16) = 0.1307006699605345601;
  points(0, 17) = 0.039142449434608983516;
  points(1, 17) = 0.83015688060485670619;
  points(0, 18) = 0.83015688060485659516;
  points(1, 18) = 0.039142449434608865555;
  points(0, 19) = 0.13070066996053464337;
  points(1, 19) = 0.83015688060485670619;
  points(0, 20) = 0.039142449434608664327;
  points(1, 20) = 0.13070066996053483765;
  points(0, 21) = 0.31131838322398686092;
  points(1, 21) = 0.12931280976797904225;
  points(0, 22) = 0.55936880700803415234;
  points(1, 22) = 0.31131838322398691643;
  points(0, 23) = 0.12931280976797904225;
  points(1, 23) = 0.55936880700803426336;
  points(0, 24) = 0.55936880700803415234;
  points(1, 24) = 0.12931280976797904225;
  points(0, 25) = 0.31131838322398686092;
  points(1, 25) = 0.55936880700803426336;
  points(0, 26) = 0.12931280976797890347;
  points(1, 26) = 0.31131838322398702745;
  points(0, 27) = 0.11144805571699854807;
  points(1, 27) = 0.11144805571699881175;
  points(0, 28) = 0.77710388856600254304;
  points(1, 28) = 0.11144805571699854807;
  points(0, 29) = 0.1114480557169988395;
  points(1, 29) = 0.77710388856600276508;
  points(0, 30) = 0.011639027327922444113;
  points(1, 30) = 0.011639027327922751159;
  points(0, 31) = 0.97672194534415479605;
  points(1, 31) = 0.011639027327922430236;
  points(0, 32) = 0.01163902732792293504;
  points(1, 32) = 0.97672194534415479605;
  points(0, 33) = 0.2551621331531247483;
  points(1, 33) = 0.25516213315312491483;
  points(0, 34) = 0.48967573369375028136;
  points(1, 34) = 0.25516213315312485932;
  points(0, 35) = 0.25516213315312485932;
  points(1, 35) = 0.48967573369375044789;
  points(0, 36) = 0.22143394188911341702;
  points(1, 36) = 0.074561189304355166008;
  points(0, 37) = 0.7040048688065314586;
  points(1, 37) = 0.22143394188911344478;
  points(0, 38) = 0.074561189304355179885;
  points(1, 38) = 0.70400486880653168065;
  points(0, 39) = 0.70400486880653134758;
  points(1, 39) = 0.074561189304355166008;
  points(0, 40) = 0.22143394188911336151;
  points(1, 40) = 0.70400486880653168065;
  points(0, 41) = 0.074561189304354957841;
  points(1, 41) = 0.22143394188911369458;
  points(0, 42) = 0.40396971796638603269;
  points(1, 42) = 0.1920605640672278791;
  points(0, 43) = 0.40396971796638603269;
  points(1, 43) = 0.40396971796638614371;
  points(0, 44) = 0.19206056406722779584;
  points(1, 44) = 0.40396971796638619923;
  points(0, 45) = 0.35402592699971191514;
  points(1, 45) = 0.040888314464978141316;
  points(0, 46) = 0.60508575853530999211;
  points(1, 46) = 0.35402592699971191514;
  points(0, 47) = 0.040888314464978092744;
  points(1, 47) = 0.60508575853531021416;
  points(0, 48) = 0.60508575853530999211;
  points(1, 48) = 0.040888314464978141316;
  points(0, 49) = 0.35402592699971185963;
  points(1, 49) = 0.60508575853531010313;
  points(0, 50) = 0.040888314464978037233;
  points(1, 50) = 0.35402592699971213719;
  points(0, 51) = 0.17817100607962740866;
  points(1, 51) = 0.17817100607962760295;
  points(0, 52) = 0.64365798784074512717;
  points(1, 52) = 0.17817100607962743641;
  points(0, 53) = 0.17817100607962760295;
  points(1, 53) = 0.64365798784074523819;
  points(0, 54) = 0.45919438895682762602;
  points(1, 54) = 0.081611222086344789584;
  points(0, 55) = 0.45919438895682762602;
  points(1, 55) = 0.45919438895682768154;
  points(0, 56) = 0.081611222086344720195;
  points(1, 56) = 0.45919438895682779256;
  points(0, 57) = 0.33333333333333325932;
  points(1, 57) = 0.33333333333333342585;
  points(0, 58) = 0.49251244986587422447;
  points(1, 58) = 0.014975100268251599622;
  points(0, 59) = 0.49251244986587422447;
  points(1, 59) = 0.49251244986587427999;
  points(0, 60) = 0.01497510026825155105;
  points(1, 60) = 0.49251244986587439101;
  points(0, 61) = 0.24189410400689262404;
  points(1, 61) = 0.014923638907438486687;
  points(0, 62) = 0.74318225708566887366;
  points(1, 62) = 0.24189410400689262404;
  points(0, 63) = 0.014923638907438474543;
  points(1, 63) = 0.74318225708566920673;
  points(0, 64) = 0.74318225708566887366;
  points(1, 64) = 0.014923638907438486687;
  points(0, 65) = 0.2418941040068927073;
  points(1, 65) = 0.74318225708566898469;
  points(0, 66) = 0.014923638907438321888;
  points(1, 66) = 0.24189410400689290159;
  points(0, 67) = 0.36462041433871000828;
  points(1, 67) = 0.0020691038491023887487;
  points(0, 68) = 0.63331048181218752013;
  points(1, 68) = 0.3646204143387100638;
  points(0, 69) = 0.0020691038491024160706;
  points(1, 69) = 0.63331048181218774218;
  points(0, 70) = 0.63331048181218763116;
  points(1, 70) = 0.0020691038491023887487;
  points(0, 71) = 0.3646204143387100638;
  points(1, 71) = 0.63331048181218774218;
  points(0, 72) = 0.0020691038491022495371;
  points(1, 72) = 0.36462041433871028584;

  weights(0) = 0.0014628462439400353404;
  weights(1) = 0.0014628462439400353404;
  weights(2) = 0.0014628462439400353404;
  weights(3) = 0.0014628462439400353404;
  weights(4) = 0.0014628462439400353404;
  weights(5) = 0.0014628462439400353404;
  weights(6) = 0.0035546968113974726326;
  weights(7) = 0.0035546968113974726326;
  weights(8) = 0.0035546968113974726326;
  weights(9) = 0.0016636944202969520396;
  weights(10) = 0.0016636944202969520396;
  weights(11) = 0.0016636944202969520396;
  weights(12) = 0.0016636944202969520396;
  weights(13) = 0.0016636944202969520396;
  weights(14) = 0.0016636944202969520396;
  weights(15) = 0.0048477595408120991924;
  weights(16) = 0.0048477595408120991924;
  weights(17) = 0.0048477595408120991924;
  weights(18) = 0.0048477595408120991924;
  weights(19) = 0.0048477595408120991924;
  weights(20) = 0.0048477595408120991924;
  weights(21) = 0.013173132353722678475;
  weights(22) = 0.013173132353722678475;
  weights(23) = 0.013173132353722678475;
  weights(24) = 0.013173132353722678475;
  weights(25) = 0.013173132353722678475;
  weights(26) = 0.013173132353722678475;
  weights(27) = 0.0076174782585024160969;
  weights(28) = 0.0076174782585024160969;
  weights(29) = 0.0076174782585024160969;
  weights(30) = 0.00088259620915426978145;
  weights(31) = 0.00088259620915426978145;
  weights(32) = 0.00088259620915426978145;
  weights(33) = 0.015876427293764986542;
  weights(34) = 0.015876427293764986542;
  weights(35) = 0.015876427293764986542;
  weights(36) = 0.0090540372952152489705;
  weights(37) = 0.0090540372952152489705;
  weights(38) = 0.0090540372952152489705;
  weights(39) = 0.0090540372952152489705;
  weights(40) = 0.0090540372952152489705;
  weights(41) = 0.0090540372952152489705;
  weights(42) = 0.015768679322619803124;
  weights(43) = 0.015768679322619803124;
  weights(44) = 0.015768679322619803124;
  weights(45) = 0.008051104730469712395;
  weights(46) = 0.008051104730469712395;
  weights(47) = 0.008051104730469712395;
  weights(48) = 0.008051104730469712395;
  weights(49) = 0.008051104730469712395;
  weights(50) = 0.008051104730469712395;
  weights(51) = 0.012325990526792411986;
  weights(52) = 0.012325990526792411986;
  weights(53) = 0.012325990526792411986;
  weights(54) = 0.011491785488561622602;
  weights(55) = 0.011491785488561622602;
  weights(56) = 0.011491785488561622602;
  weights(57) = 0.017234580425452630803;
  weights(58) = 0.005160941091209429385;
  weights(59) = 0.005160941091209429385;
  weights(60) = 0.005160941091209429385;
  weights(61) = 0.0042279624195467385359;
  weights(62) = 0.0042279624195467385359;
  weights(63) = 0.0042279624195467385359;
  weights(64) = 0.0042279624195467385359;
  weights(65) = 0.0042279624195467385359;
  weights(66) = 0.0042279624195467385359;
  weights(67) = 0.0016410687574198684451;
  weights(68) = 0.0016410687574198684451;
  weights(69) = 0.0016410687574198684451;
  weights(70) = 0.0016410687574198684451;
  weights(71) = 0.0016410687574198684451;
  weights(72) = 0.0016410687574198684451;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 19);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 20>() { // NOLINT
  Eigen::MatrixXd points(2, 79);
  Eigen::VectorXd weights(79);

  points(0, 0) = 0.18629499774454089112;
  points(1, 0) = 0.1862949977445410854;
  points(0, 1) = 0.62741000451091799572;
  points(1, 1) = 0.18629499774454091887;
  points(0, 2) = 0.18629499774454111316;
  points(1, 2) = 0.62741000451091821777;
  points(0, 3) = 0.037310880598884585413;
  points(1, 3) = 0.037310880598884897663;
  points(0, 4) = 0.92537823880223046835;
  points(1, 4) = 0.037310880598884578474;
  points(0, 5) = 0.03731088059888504338;
  points(1, 5) = 0.92537823880223057937;
  points(0, 6) = 0.47624561154049899203;
  points(1, 6) = 0.047508776919002015937;
  points(0, 7) = 0.47624561154049899203;
  points(1, 7) = 0.47624561154049904754;
  points(0, 8) = 0.047508776919001904915;
  points(1, 8) = 0.47624561154049926959;
  points(0, 9) = 0.064090585608434030851;
  points(1, 9) = 0.004854937607623829865;
  points(0, 10) = 0.93105447678394215316;
  points(1, 10) = 0.064090585608434016973;
  points(0, 11) = 0.004854937607623954765;
  points(1, 11) = 0.93105447678394226418;
  points(0, 12) = 0.93105447678394215316;
  points(1, 12) = 0.004854937607623829865;
  points(0, 13) = 0.064090585608434114118;
  points(1, 13) = 0.93105447678394226418;
  points(0, 14) = 0.0048549376076235384314;
  points(1, 14) = 0.064090585608434336162;
  points(0, 15) = 0.21560705739009436432;
  points(1, 15) = 0.10622720472027009919;
  points(0, 16) = 0.67816573788963552261;
  points(1, 16) = 0.21560705739009444759;
  points(0, 17) = 0.10622720472027008531;
  points(1, 17) = 0.67816573788963574465;
  points(0, 18) = 0.67816573788963552261;
  points(1, 18) = 0.10622720472027009919;
  points(0, 19) = 0.21560705739009433657;
  points(1, 19) = 0.67816573788963574465;
  points(0, 20) = 0.10622720472026993266;
  points(1, 20) = 0.21560705739009464188;
  points(0, 21) = 0.44555105695592478465;
  points(1, 21) = 0.10889788608815041682;
  points(0, 22) = 0.44555105695592478465;
  points(1, 22) = 0.44555105695592489568;
  points(0, 23) = 0.10889788608815031967;
  points(1, 23) = 0.4455510569559250067;
  points(0, 24) = 0.15913370765706721932;
  points(1, 24) = 0.0075707805046965814463;
  points(0, 25) = 0.83329551183823624694;
  points(1, 25) = 0.15913370765706721932;
  points(0, 26) = 0.007570780504696561497;
  points(1, 26) = 0.83329551183823646898;
  points(0, 27) = 0.83329551183823624694;
  points(1, 27) = 0.0075707805046965814463;
  points(0, 28) = 0.15913370765706724708;
  points(1, 28) = 0.83329551183823635796;
  points(0, 29) = 0.0075707805046963533302;
  points(1, 29) = 0.15913370765706755239;
  points(0, 30) = 0.31786012383577194607;
  points(1, 30) = 0.13980807199179998146;
  points(0, 31) = 0.54233180417242798921;
  points(1, 31) = 0.31786012383577205709;
  points(0, 32) = 0.1398080719917999537;
  points(1, 32) = 0.54233180417242821125;
  points(0, 33) = 0.54233180417242798921;
  points(1, 33) = 0.13980807199179998146;
  points(0, 34) = 0.31786012383577194607;
  points(1, 34) = 0.54233180417242821125;
  points(0, 35) = 0.13980807199179987044;
  points(1, 35) = 0.31786012383577216811;
  points(0, 36) = 0.25457926767333904916;
  points(1, 36) = 0.25457926767333921569;
  points(0, 37) = 0.49084146465332167963;
  points(1, 37) = 0.25457926767333916018;
  points(0, 38) = 0.25457926767333916018;
  points(1, 38) = 0.49084146465332184617;
  points(0, 39) = 0.33333333333333325932;
  points(1, 39) = 0.33333333333333342585;
  points(0, 40) = 0.19851813222878816889;
  points(1, 40) = 0.046560364907664353318;
  points(0, 41) = 0.7549215028635475333;
  points(1, 41) = 0.19851813222878816889;
  points(0, 42) = 0.046560364907664408829;
  points(1, 42) = 0.75492150286354764432;
  points(0, 43) = 0.75492150286354742228;
  points(1, 43) = 0.046560364907664353318;
  points(0, 44) = 0.1985181322287882244;
  points(1, 44) = 0.75492150286354764432;
  points(0, 45) = 0.046560364907664172907;
  points(1, 45) = 0.1985181322287884742;
  points(0, 46) = 0.39342534781709981306;
  points(1, 46) = 0.21314930436580034612;
  points(0, 47) = 0.39342534781709981306;
  points(1, 47) = 0.3934253478170999796;
  points(0, 48) = 0.21314930436580020734;
  points(1, 48) = 0.39342534781710003511;
  points(0, 49) = 0.099952296288138620106;
  points(1, 49) = 0.03836368477537467625;
  points(0, 50) = 0.86168401893648671752;
  points(1, 50) = 0.099952296288138578473;
  points(0, 51) = 0.038363684775374828906;
  points(1, 51) = 0.86168401893648682854;
  points(0, 52) = 0.8616840189364866065;
  points(1, 52) = 0.03836368477537467625;
  points(0, 53) = 0.099952296288138675617;
  points(1, 53) = 0.86168401893648682854;
  points(0, 54) = 0.038363684775374391756;
  points(1, 54) = 0.099952296288138939295;
  points(0, 55) = 0.42002375881622405762;
  points(1, 55) = 0.0098315482928025919179;
  points(0, 56) = 0.57014469289097335913;
  points(1, 56) = 0.42002375881622411313;
  points(0, 57) = 0.0098315482928025277332;
  points(1, 57) = 0.57014469289097358118;
  points(0, 58) = 0.57014469289097335913;
  points(1, 58) = 0.0098315482928025919179;
  points(0, 59) = 0.42002375881622411313;
  points(1, 59) = 0.57014469289097347016;
  points(0, 60) = 0.009831548292802472222;
  points(1, 60) = 0.42002375881622433518;
  points(0, 61) = 0.33313481730958743876;
  points(1, 61) = 0.054987479142986871172;
  points(0, 62) = 0.61187770354742565537;
  points(1, 62) = 0.33313481730958749427;
  points(0, 63) = 0.054987479142986850356;
  points(1, 63) = 0.61187770354742587742;
  points(0, 64) = 0.61187770354742565537;
  points(1, 64) = 0.054987479142986871172;
  points(0, 65) = 0.33313481730958743876;
  points(1, 65) = 0.61187770354742576639;
  points(0, 66) = 0.054987479142986739333;
  points(1, 66) = 0.33313481730958771632;
  points(0, 67) = 0.28058141142366521681;
  points(1, 67) = 0.010737212856011115608;
  points(0, 68) = 0.70868137572032363636;
  points(1, 68) = 0.28058141142366527232;
  points(0, 69) = 0.010737212856011146833;
  points(1, 69) = 0.7086813757203238584;
  points(0, 70) = 0.70868137572032374738;
  points(1, 70) = 0.010737212856011115608;
  points(0, 71) = 0.28058141142366527232;
  points(1, 71) = 0.70868137572032374738;
  points(0, 72) = 0.010737212856010952544;
  points(1, 72) = 0.28058141142366549436;
  points(0, 73) = 0.010976141028397631491;
  points(1, 73) = 0.010976141028397907312;
  points(0, 74) = 0.97804771794320444211;
  points(1, 74) = 0.010976141028397586388;
  points(0, 75) = 0.01097614102839811201;
  points(1, 75) = 0.97804771794320466416;
  points(0, 76) = 0.10938359671171446474;
  points(1, 76) = 0.10938359671171475618;
  points(0, 77) = 0.78123280657657079296;
  points(1, 77) = 0.1093835967117144925;
  points(0, 78) = 0.10938359671171477006;
  points(1, 78) = 0.78123280657657090398;

  weights(0) = 0.009173462974252913002;
  weights(1) = 0.009173462974252913002;
  weights(2) = 0.009173462974252913002;
  weights(3) = 0.0021612754106655773269;
  weights(4) = 0.0021612754106655773269;
  weights(5) = 0.0021612754106655773269;
  weights(6) = 0.0071018253034084407108;
  weights(7) = 0.0071018253034084407108;
  weights(8) = 0.0071018253034084407108;
  weights(9) = 0.0011298696021258653691;
  weights(10) = 0.0011298696021258653691;
  weights(11) = 0.0011298696021258653691;
  weights(12) = 0.0011298696021258653691;
  weights(13) = 0.0011298696021258653691;
  weights(14) = 0.0011298696021258653691;
  weights(15) = 0.0077226078220992300932;
  weights(16) = 0.0077226078220992300932;
  weights(17) = 0.0077226078220992300932;
  weights(18) = 0.0077226078220992300932;
  weights(19) = 0.0077226078220992300932;
  weights(20) = 0.0077226078220992300932;
  weights(21) = 0.0094523999332324481343;
  weights(22) = 0.0094523999332324481343;
  weights(23) = 0.0094523999332324481343;
  weights(24) = 0.0022028974185584974249;
  weights(25) = 0.0022028974185584974249;
  weights(26) = 0.0022028974185584974249;
  weights(27) = 0.0022028974185584974249;
  weights(28) = 0.0022028974185584974249;
  weights(29) = 0.0022028974185584974249;
  weights(30) = 0.01169174573182773548;
  weights(31) = 0.01169174573182773548;
  weights(32) = 0.01169174573182773548;
  weights(33) = 0.01169174573182773548;
  weights(34) = 0.01169174573182773548;
  weights(35) = 0.01169174573182773548;
  weights(36) = 0.014083201307520247167;
  weights(37) = 0.014083201307520247167;
  weights(38) = 0.014083201307520247167;
  weights(39) = 0.013910110701453114179;
  weights(40) = 0.0059863985789546901584;
  weights(41) = 0.0059863985789546901584;
  weights(42) = 0.0059863985789546901584;
  weights(43) = 0.0059863985789546901584;
  weights(44) = 0.0059863985789546901584;
  weights(45) = 0.0059863985789546901584;
  weights(46) = 0.013788050629070456796;
  weights(47) = 0.013788050629070456796;
  weights(48) = 0.013788050629070456796;
  weights(49) = 0.0041457115276138578261;
  weights(50) = 0.0041457115276138578261;
  weights(51) = 0.0041457115276138578261;
  weights(52) = 0.0041457115276138578261;
  weights(53) = 0.0041457115276138578261;
  weights(54) = 0.0041457115276138578261;
  weights(55) = 0.0036956815002552978293;
  weights(56) = 0.0036956815002552978293;
  weights(57) = 0.0036956815002552978293;
  weights(58) = 0.0036956815002552978293;
  weights(59) = 0.0036956815002552978293;
  weights(60) = 0.0036956815002552978293;
  weights(61) = 0.0086672255672193328907;
  weights(62) = 0.0086672255672193328907;
  weights(63) = 0.0086672255672193328907;
  weights(64) = 0.0086672255672193328907;
  weights(65) = 0.0086672255672193328907;
  weights(66) = 0.0086672255672193328907;
  weights(67) = 0.003578200238457685152;
  weights(68) = 0.003578200238457685152;
  weights(69) = 0.003578200238457685152;
  weights(70) = 0.003578200238457685152;
  weights(71) = 0.003578200238457685152;
  weights(72) = 0.003578200238457685152;
  weights(73) = 0.00079884079106661985865;
  weights(74) = 0.00079884079106661985865;
  weights(75) = 0.00079884079106661985865;
  weights(76) = 0.007830230776074533286;
  weights(77) = 0.007830230776074533286;
  weights(78) = 0.007830230776074533286;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 20);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 21>() { // NOLINT
  Eigen::MatrixXd points(2, 87);
  Eigen::VectorXd weights(87);

  points(0, 0) = 0.29893623531498247914;
  points(1, 0) = 0.29893623531498264567;
  points(0, 1) = 0.40212752937003481968;
  points(1, 1) = 0.29893623531498264567;
  points(0, 2) = 0.29893623531498253465;
  points(1, 2) = 0.4021275293700349307;
  points(0, 3) = 0.28918949607859467665;
  points(1, 3) = 0.20529555933516160926;
  points(0, 4) = 0.50551494458624368633;
  points(1, 4) = 0.28918949607859478768;
  points(0, 5) = 0.2052955593351615815;
  points(1, 5) = 0.50551494458624379735;
  points(0, 6) = 0.50551494458624368633;
  points(1, 6) = 0.20529555933516160926;
  points(0, 7) = 0.28918949607859473216;
  points(1, 7) = 0.50551494458624379735;
  points(0, 8) = 0.20529555933516147048;
  points(1, 8) = 0.2891894960785948987;
  points(0, 9) = 0.4970078754686855782;
  points(1, 9) = 0.0059842490626288531372;
  points(0, 10) = 0.4970078754686855782;
  points(1, 10) = 0.49700787546868563371;
  points(0, 11) = 0.0059842490626288435962;
  points(1, 11) = 0.49700787546868574474;
  points(0, 12) = 0.23787338259799398199;
  points(1, 12) = 0.0069318090314681186231;
  points(0, 13) = 0.75519480837053787337;
  points(1, 13) = 0.23787338259799400975;
  points(0, 14) = 0.0069318090314682834219;
  points(1, 14) = 0.75519480837053787337;
  points(0, 15) = 0.75519480837053787337;
  points(1, 15) = 0.0069318090314681186231;
  points(0, 16) = 0.23787338259799412077;
  points(1, 16) = 0.75519480837053787337;
  points(0, 17) = 0.0069318090314680058661;
  points(1, 17) = 0.2378733825979942873;
  points(0, 18) = 0.40361758654638507648;
  points(1, 18) = 0.19276482690722984703;
  points(0, 19) = 0.403617586546385132;
  points(1, 19) = 0.40361758654638518751;
  points(0, 20) = 0.19276482690722973601;
  points(1, 20) = 0.40361758654638524302;
  points(0, 21) = 0.31886531079482821616;
  points(1, 21) = 0.12377940040549281764;
  points(0, 22) = 0.55735528879967899396;
  points(1, 22) = 0.31886531079482827167;
  points(0, 23) = 0.12377940040549278988;
  points(1, 23) = 0.55735528879967910498;
  points(0, 24) = 0.55735528879967899396;
  points(1, 24) = 0.12377940040549281764;
  points(0, 25) = 0.31886531079482827167;
  points(1, 25) = 0.55735528879967910498;
  points(0, 26) = 0.12377940040549262335;
  points(1, 26) = 0.31886531079482849371;
  points(0, 27) = 0.23187362537040095978;
  points(1, 27) = 0.038991362623220345018;
  points(0, 28) = 0.72913501200637864663;
  points(1, 28) = 0.23187362537040098753;
  points(0, 29) = 0.038991362623220393591;
  points(1, 29) = 0.72913501200637886868;
  points(0, 30) = 0.72913501200637875765;
  points(1, 30) = 0.038991362623220345018;
  points(0, 31) = 0.23187362537040101529;
  points(1, 31) = 0.72913501200637886868;
  points(0, 32) = 0.038991362623220213179;
  points(1, 32) = 0.23187362537040126509;
  points(0, 33) = 0.13316712294137028616;
  points(1, 33) = 0.0095362475297106029382;
  points(0, 34) = 0.85729662952891905192;
  points(1, 34) = 0.1331671229413702584;
  points(0, 35) = 0.0095362475297107174299;
  points(1, 35) = 0.85729662952891927397;
  points(0, 36) = 0.85729662952891916294;
  points(1, 36) = 0.0095362475297106029382;
  points(0, 37) = 0.13316712294137034167;
  points(1, 37) = 0.85729662952891927397;
  points(0, 38) = 0.0095362475297103566074;
  points(1, 38) = 0.13316712294137061923;
  points(0, 39) = 0.34680797980991101559;
  points(1, 39) = 0.053052191701216840081;
  points(0, 40) = 0.60013982848887215127;
  points(1, 40) = 0.34680797980991112661;
  points(0, 41) = 0.053052191701216833142;
  points(1, 41) = 0.60013982848887226229;
  points(0, 42) = 0.60013982848887215127;
  points(1, 42) = 0.053052191701216840081;
  points(0, 43) = 0.3468079798099110711;
  points(1, 43) = 0.60013982848887215127;
  points(0, 44) = 0.053052191701216722119;
  points(1, 44) = 0.34680797980991129315;
  points(0, 45) = 0.11898857762271929095;
  points(1, 45) = 0.11898857762271955463;
  points(0, 46) = 0.7620228447545611683;
  points(1, 46) = 0.11898857762271930483;
  points(0, 47) = 0.11898857762271958238;
  points(1, 47) = 0.76202284475456127932;
  points(0, 48) = 0.19028871809127842485;
  points(1, 48) = 0.19028871809127861914;
  points(0, 49) = 0.61942256381744298377;
  points(1, 49) = 0.19028871809127848036;
  points(0, 50) = 0.19028871809127856363;
  points(1, 50) = 0.61942256381744309479;
  points(0, 51) = 0.21659962318998249309;
  points(1, 51) = 0.1004580200741145013;
  points(0, 52) = 0.68294235673590297786;
  points(1, 52) = 0.21659962318998252084;
  points(0, 53) = 0.10045802007411458456;
  points(1, 53) = 0.68294235673590308888;
  points(0, 54) = 0.68294235673590297786;
  points(1, 54) = 0.1004580200741145013;
  points(0, 55) = 0.21659962318998249309;
  points(1, 55) = 0.6829423567359031999;
  points(0, 56) = 0.10045802007411427925;
  points(1, 56) = 0.21659962318998277064;
  points(0, 57) = 0.48159786865321657645;
  points(1, 57) = 0.03680426269356683322;
  points(0, 58) = 0.48159786865321657645;
  points(1, 58) = 0.48159786865321663196;
  points(0, 59) = 0.036804262693566763831;
  points(1, 59) = 0.4815978686532167985;
  points(0, 60) = 0.44981279177536237501;
  points(1, 60) = 0.10037441644927527773;
  points(0, 61) = 0.44981279177536237501;
  points(1, 61) = 0.44981279177536248604;
  points(0, 62) = 0.10037441644927522222;
  points(1, 62) = 0.44981279177536254155;
  points(0, 63) = 0.12882980796205154017;
  points(1, 63) = 0.049451065568540571171;
  points(0, 64) = 0.82171912646940781233;
  points(1, 64) = 0.12882980796205151242;
  points(0, 65) = 0.049451065568540730766;
  points(1, 65) = 0.82171912646940792335;
  points(0, 66) = 0.82171912646940792335;
  points(1, 66) = 0.049451065568540571171;
  points(0, 67) = 0.12882980796205167895;
  points(1, 67) = 0.82171912646940792335;
  points(0, 68) = 0.049451065568540314432;
  points(1, 68) = 0.12882980796205184548;
  points(0, 69) = 0.053627575546144855279;
  points(1, 69) = 0.053627575546145125895;
  points(0, 70) = 0.89274484890770999801;
  points(1, 70) = 0.053627575546144841401;
  points(0, 71) = 0.053627575546145278551;
  points(1, 71) = 0.89274484890771010903;
  points(0, 72) = 0.36095340801892217275;
  points(1, 72) = 0.010254635872924520654;
  points(0, 73) = 0.62879195610815341588;
  points(1, 73) = 0.36095340801892217275;
  points(0, 74) = 0.010254635872924466877;
  points(1, 74) = 0.62879195610815352691;
  points(0, 75) = 0.62879195610815330486;
  points(1, 75) = 0.010254635872924520654;
  points(0, 76) = 0.36095340801892217275;
  points(1, 76) = 0.62879195610815341588;
  points(0, 77) = 0.010254635872924411366;
  points(1, 77) = 0.3609534080189223948;
  points(0, 78) = 0.010742456432828281082;
  points(1, 78) = 0.010742456432828570781;
  points(0, 79) = 0.97851508713434309783;
  points(1, 79) = 0.010742456432828251592;
  points(0, 80) = 0.01074245643282867313;
  points(1, 80) = 0.97851508713434331987;
  points(0, 81) = 0.05571956507237194739;
  points(1, 81) = 0.010301903643423909046;
  points(0, 82) = 0.93397853128420416091;
  points(1, 82) = 0.055719565072371905756;
  points(0, 83) = 0.010301903643423981904;
  points(1, 83) = 0.93397853128420438296;
  points(0, 84) = 0.93397853128420404989;
  points(1, 84) = 0.010301903643423909046;
  points(0, 85) = 0.055719565072371968206;
  points(1, 85) = 0.93397853128420438296;
  points(0, 86) = 0.010301903643423600265;
  points(1, 86) = 0.055719565072372287395;

  weights(0) = 0.010725560964566173763;
  weights(1) = 0.010725560964566173763;
  weights(2) = 0.010725560964566173763;
  weights(3) = 0.0087477080778815656525;
  weights(4) = 0.0087477080778815656525;
  weights(5) = 0.0087477080778815656525;
  weights(6) = 0.0087477080778815656525;
  weights(7) = 0.0087477080778815656525;
  weights(8) = 0.0087477080778815656525;
  weights(9) = 0.0022189148485329403086;
  weights(10) = 0.0022189148485329403086;
  weights(11) = 0.0022189148485329403086;
  weights(12) = 0.0021030601440748652314;
  weights(13) = 0.0021030601440748652314;
  weights(14) = 0.0021030601440748652314;
  weights(15) = 0.0021030601440748652314;
  weights(16) = 0.0021030601440748652314;
  weights(17) = 0.0021030601440748652314;
  weights(18) = 0.011500352326641935866;
  weights(19) = 0.011500352326641935866;
  weights(20) = 0.011500352326641935866;
  weights(21) = 0.0092237424239664210501;
  weights(22) = 0.0092237424239664210501;
  weights(23) = 0.0092237424239664210501;
  weights(24) = 0.0092237424239664210501;
  weights(25) = 0.0092237424239664210501;
  weights(26) = 0.0092237424239664210501;
  weights(27) = 0.0052349520926624230552;
  weights(28) = 0.0052349520926624230552;
  weights(29) = 0.0052349520926624230552;
  weights(30) = 0.0052349520926624230552;
  weights(31) = 0.0052349520926624230552;
  weights(32) = 0.0052349520926624230552;
  weights(33) = 0.0022404065609507384585;
  weights(34) = 0.0022404065609507384585;
  weights(35) = 0.0022404065609507384585;
  weights(36) = 0.0022404065609507384585;
  weights(37) = 0.0022404065609507384585;
  weights(38) = 0.0022404065609507384585;
  weights(39) = 0.0072501529594855129018;
  weights(40) = 0.0072501529594855129018;
  weights(41) = 0.0072501529594855129018;
  weights(42) = 0.0072501529594855129018;
  weights(43) = 0.0072501529594855129018;
  weights(44) = 0.0072501529594855129018;
  weights(45) = 0.006828016226115101589;
  weights(46) = 0.006828016226115101589;
  weights(47) = 0.006828016226115101589;
  weights(48) = 0.0097276209303753594093;
  weights(49) = 0.0097276209303753594093;
  weights(50) = 0.0097276209303753594093;
  weights(51) = 0.0079520183527139881585;
  weights(52) = 0.0079520183527139881585;
  weights(53) = 0.0079520183527139881585;
  weights(54) = 0.0079520183527139881585;
  weights(55) = 0.0079520183527139881585;
  weights(56) = 0.0079520183527139881585;
  weights(57) = 0.006107205081692193907;
  weights(58) = 0.006107205081692193907;
  weights(59) = 0.006107205081692193907;
  weights(60) = 0.0098072376139120131383;
  weights(61) = 0.0098072376139120131383;
  weights(62) = 0.0098072376139120131383;
  weights(63) = 0.0049059859112752070634;
  weights(64) = 0.0049059859112752070634;
  weights(65) = 0.0049059859112752070634;
  weights(66) = 0.0049059859112752070634;
  weights(67) = 0.0049059859112752070634;
  weights(68) = 0.0049059859112752070634;
  weights(69) = 0.0035760425506418274701;
  weights(70) = 0.0035760425506418274701;
  weights(71) = 0.0035760425506418274701;
  weights(72) = 0.0034199424289671539329;
  weights(73) = 0.0034199424289671539329;
  weights(74) = 0.0034199424289671539329;
  weights(75) = 0.0034199424289671539329;
  weights(76) = 0.0034199424289671539329;
  weights(77) = 0.0034199424289671539329;
  weights(78) = 0.00075434963618934488139;
  weights(79) = 0.00075434963618934488139;
  weights(80) = 0.00075434963618934488139;
  weights(81) = 0.0016327142920220430022;
  weights(82) = 0.0016327142920220430022;
  weights(83) = 0.0016327142920220430022;
  weights(84) = 0.0016327142920220430022;
  weights(85) = 0.0016327142920220430022;
  weights(86) = 0.0016327142920220430022;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 21);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 22>() { // NOLINT
  Eigen::MatrixXd points(2, 96);
  Eigen::VectorXd weights(96);

  points(0, 0) = 0.38518452462730212726;
  points(1, 0) = 0.22963095074539580098;
  points(0, 1) = 0.38518452462730212726;
  points(1, 1) = 0.38518452462730218278;
  points(0, 2) = 0.22963095074539568996;
  points(1, 2) = 0.38518452462730223829;
  points(0, 3) = 0.45776941136767207441;
  points(1, 3) = 0.084461177264655892816;
  points(0, 4) = 0.45776941136767207441;
  points(1, 4) = 0.45776941136767212992;
  points(0, 5) = 0.084461177264655851182;
  points(1, 5) = 0.45776941136767224094;
  points(0, 6) = 0.069842169467443621089;
  points(1, 6) = 0.0078762822215823775213;
  points(0, 7) = 0.92228154831097397537;
  points(1, 7) = 0.069842169467443607211;
  points(0, 8) = 0.0078762822215824312977;
  points(1, 8) = 0.92228154831097430844;
  points(0, 9) = 0.92228154831097397537;
  points(1, 9) = 0.0078762822215823775213;
  points(0, 10) = 0.069842169467443593334;
  points(1, 10) = 0.92228154831097430844;
  points(0, 11) = 0.0078762822215820982308;
  points(1, 11) = 0.069842169467443926401;
  points(0, 12) = 0.2945582590299500314;
  points(1, 12) = 0.29455825902995019794;
  points(0, 13) = 0.41088348194009971515;
  points(1, 13) = 0.29455825902995019794;
  points(0, 14) = 0.29455825902995008692;
  points(1, 14) = 0.41088348194009982617;
  points(0, 15) = 0.18851052363028383829;
  points(1, 15) = 0.18851052363028403258;
  points(0, 16) = 0.62297895273943204586;
  points(1, 16) = 0.18851052363028386605;
  points(0, 17) = 0.18851052363028408809;
  points(1, 17) = 0.6229789527394322679;
  points(0, 18) = 0.42198188879353493164;
  points(1, 18) = 0.15603622241293016448;
  points(0, 19) = 0.42198188879353487613;
  points(1, 19) = 0.42198188879353504266;
  points(0, 20) = 0.15603622241293005346;
  points(1, 20) = 0.42198188879353509817;
  points(0, 21) = 0.09039883116640773375;
  points(1, 21) = 0.044752284348335891195;
  points(0, 22) = 0.86484888448525643057;
  points(1, 22) = 0.090398831166407775384;
  points(0, 23) = 0.044752284348336002218;
  points(1, 23) = 0.86484888448525643057;
  points(0, 24) = 0.86484888448525643057;
  points(1, 24) = 0.044752284348335891195;
  points(0, 25) = 0.090398831166407900284;
  points(1, 25) = 0.86484888448525643057;
  points(0, 26) = 0.044752284348335696906;
  points(1, 26) = 0.090398831166408066817;
  points(0, 27) = 0.41134176402055872002;
  points(1, 27) = 0.038275234700863837445;
  points(0, 28) = 0.55038300127857742172;
  points(1, 28) = 0.41134176402055877553;
  points(0, 29) = 0.03827523470086380275;
  points(1, 29) = 0.55038300127857764377;
  points(0, 30) = 0.55038300127857742172;
  points(1, 30) = 0.038275234700863837445;
  points(0, 31) = 0.41134176402055877553;
  points(1, 31) = 0.55038300127857753274;
  points(0, 32) = 0.038275234700863691728;
  points(1, 32) = 0.41134176402055899757;
  points(0, 33) = 0.33210610500744636164;
  points(1, 33) = 0.10274707598693143262;
  points(0, 34) = 0.56514681900562213634;
  points(1, 34) = 0.33210610500744641715;
  points(0, 35) = 0.1027470759869314465;
  points(1, 35) = 0.56514681900562235839;
  points(0, 36) = 0.56514681900562224737;
  points(1, 36) = 0.10274707598693143262;
  points(0, 37) = 0.33210610500744630613;
  points(1, 37) = 0.56514681900562235839;
  points(0, 38) = 0.10274707598693127997;
  points(1, 38) = 0.3321061050074466392;
  points(0, 39) = 0.36257628043246725724;
  points(1, 39) = 0.0074002412347107544149;
  points(0, 40) = 0.63002347833282201783;
  points(1, 40) = 0.36257628043246731275;
  points(0, 41) = 0.0074002412347107804358;
  points(1, 41) = 0.63002347833282212886;
  points(0, 42) = 0.63002347833282201783;
  points(1, 42) = 0.0074002412347107544149;
  points(0, 43) = 0.36257628043246731275;
  points(1, 43) = 0.63002347833282212886;
  points(0, 44) = 0.0074002412347106694135;
  points(1, 44) = 0.36257628043246747929;
  points(0, 45) = 0.29006682411666878663;
  points(1, 45) = 0.19108129796672015943;
  points(0, 46) = 0.51885187791661102619;
  points(1, 46) = 0.29006682411666884214;
  points(0, 47) = 0.19108129796672013168;
  points(1, 47) = 0.51885187791661113721;
  points(0, 48) = 0.51885187791661102619;
  points(1, 48) = 0.19108129796672015943;
  points(0, 49) = 0.29006682411666884214;
  points(1, 49) = 0.51885187791661113721;
  points(0, 50) = 0.19108129796672002065;
  points(1, 50) = 0.29006682411666895316;
  points(0, 51) = 0.49616117840970863639;
  points(1, 51) = 0.0076776431805827757837;
  points(0, 52) = 0.49616117840970863639;
  points(1, 52) = 0.49616117840970869191;
  points(0, 53) = 0.0076776431805827272115;
  points(1, 53) = 0.49616117840970885844;
  points(0, 54) = 0.28793180282417180083;
  points(1, 54) = 0.043991645393455861002;
  points(0, 55) = 0.66807655178237235205;
  points(1, 55) = 0.28793180282417185634;
  points(0, 56) = 0.043991645393455902635;
  points(1, 56) = 0.66807655178237246307;
  points(0, 57) = 0.66807655178237224103;
  points(1, 57) = 0.043991645393455861002;
  points(0, 58) = 0.28793180282417180083;
  points(1, 58) = 0.66807655178237246307;
  points(0, 59) = 0.04399164539345568059;
  points(1, 59) = 0.28793180282417207838;
  points(0, 60) = 0.21678693336494114785;
  points(1, 60) = 0.10868994186267202928;
  points(0, 61) = 0.6745231247723867396;
  points(1, 61) = 0.21678693336494117561;
  points(0, 62) = 0.10868994186267205704;
  points(1, 62) = 0.67452312477238696165;
  points(0, 63) = 0.6745231247723867396;
  points(1, 63) = 0.10868994186267202928;
  points(0, 64) = 0.21678693336494120336;
  points(1, 64) = 0.67452312477238696165;
  points(0, 65) = 0.10868994186267183499;
  points(1, 65) = 0.2167869333649413699;
  points(0, 66) = 0.14587371987352518166;
  points(1, 66) = 0.0091447113749640578789;
  points(0, 67) = 0.84498156875151075873;
  points(1, 67) = 0.14587371987352518166;
  points(0, 68) = 0.0091447113749641428804;
  points(1, 68) = 0.84498156875151086975;
  points(0, 69) = 0.84498156875151075873;
  points(1, 69) = 0.0091447113749640578789;
  points(0, 70) = 0.14587371987352520941;
  points(1, 70) = 0.84498156875151086975;
  points(0, 71) = 0.0091447113749637959357;
  points(1, 71) = 0.14587371987352551472;
  points(0, 72) = 0.17629743482450005443;
  points(1, 72) = 0.048254924114641405131;
  points(0, 73) = 0.77544764106085850575;
  points(1, 73) = 0.17629743482450005443;
  points(0, 74) = 0.048254924114641439825;
  points(1, 74) = 0.77544764106085872779;
  points(0, 75) = 0.77544764106085850575;
  points(1, 75) = 0.048254924114641405131;
  points(0, 76) = 0.17629743482450005443;
  points(1, 76) = 0.77544764106085872779;
  points(0, 77) = 0.048254924114641203903;
  points(1, 77) = 0.17629743482450035974;
  points(0, 78) = 0.24399064603949305319;
  points(1, 78) = 0.0091639092481852323785;
  points(0, 79) = 0.74684544471232161555;
  points(1, 79) = 0.24399064603949305319;
  points(0, 80) = 0.0091639092481853312577;
  points(1, 80) = 0.7468454447123218376;
  points(0, 81) = 0.74684544471232172658;
  points(1, 81) = 0.0091639092481852323785;
  points(0, 82) = 0.24399064603949305319;
  points(1, 82) = 0.7468454447123218376;
  points(0, 83) = 0.009163909248185053702;
  points(1, 83) = 0.24399064603949338625;
  points(0, 84) = 0.029108470670807358449;
  points(1, 84) = 0.029108470670807670699;
  points(0, 85) = 0.94178305865838496391;
  points(1, 85) = 0.029108470670807348041;
  points(0, 86) = 0.029108470670807851111;
  points(1, 86) = 0.94178305865838496391;
  points(0, 87) = 0.11543153821920489055;
  points(1, 87) = 0.11543153821920512647;
  points(0, 88) = 0.76913692356159002461;
  points(1, 88) = 0.11543153821920490443;
  points(0, 89) = 0.11543153821920515423;
  points(1, 89) = 0.76913692356159013563;
  points(0, 90) = 0.017934321052938986124;
  points(1, 90) = 0.0017984649889483750665;
  points(0, 91) = 0.98026721395811255988;
  points(1, 91) = 0.017934321052938968777;
  points(0, 92) = 0.0017984649889485893048;
  points(1, 92) = 0.9802672139581126709;
  points(0, 93) = 0.9802672139581126709;
  points(1, 93) = 0.0017984649889483750665;
  points(0, 94) = 0.01793432105293907286;
  points(1, 94) = 0.98026721395811289295;
  points(0, 95) = 0.0017984649889481209295;
  points(1, 95) = 0.017934321052939287966;

  weights(0) = 0.0067465419418053316353;
  weights(1) = 0.0067465419418053316353;
  weights(2) = 0.0067465419418053316353;
  weights(3) = 0.0069306997621170970958;
  weights(4) = 0.0069306997621170970958;
  weights(5) = 0.0069306997621170970958;
  weights(6) = 0.001297719237115638885;
  weights(7) = 0.001297719237115638885;
  weights(8) = 0.001297719237115638885;
  weights(9) = 0.001297719237115638885;
  weights(10) = 0.001297719237115638885;
  weights(11) = 0.001297719237115638885;
  weights(12) = 0.010537881978726092169;
  weights(13) = 0.010537881978726092169;
  weights(14) = 0.010537881978726092169;
  weights(15) = 0.0080106495625744469913;
  weights(16) = 0.0080106495625744469913;
  weights(17) = 0.0080106495625744469913;
  weights(18) = 0.0094265462769206435911;
  weights(19) = 0.0094265462769206435911;
  weights(20) = 0.0094265462769206435911;
  weights(21) = 0.0037587889088941885303;
  weights(22) = 0.0037587889088941885303;
  weights(23) = 0.0037587889088941885303;
  weights(24) = 0.0037587889088941885303;
  weights(25) = 0.0037587889088941885303;
  weights(26) = 0.0037587889088941885303;
  weights(27) = 0.0055986567359813856765;
  weights(28) = 0.0055986567359813856765;
  weights(29) = 0.0055986567359813856765;
  weights(30) = 0.0055986567359813856765;
  weights(31) = 0.0055986567359813856765;
  weights(32) = 0.0055986567359813856765;
  weights(33) = 0.008859546744755109407;
  weights(34) = 0.008859546744755109407;
  weights(35) = 0.008859546744755109407;
  weights(36) = 0.008859546744755109407;
  weights(37) = 0.008859546744755109407;
  weights(38) = 0.008859546744755109407;
  weights(39) = 0.0024521301987784826712;
  weights(40) = 0.0024521301987784826712;
  weights(41) = 0.0024521301987784826712;
  weights(42) = 0.0024521301987784826712;
  weights(43) = 0.0024521301987784826712;
  weights(44) = 0.0024521301987784826712;
  weights(45) = 0.01085320977775447969;
  weights(46) = 0.01085320977775447969;
  weights(47) = 0.01085320977775447969;
  weights(48) = 0.01085320977775447969;
  weights(49) = 0.01085320977775447969;
  weights(50) = 0.01085320977775447969;
  weights(51) = 0.0026446698329922095974;
  weights(52) = 0.0026446698329922095974;
  weights(53) = 0.0026446698329922095974;
  weights(54) = 0.0058311114336715014206;
  weights(55) = 0.0058311114336715014206;
  weights(56) = 0.0058311114336715014206;
  weights(57) = 0.0058311114336715014206;
  weights(58) = 0.0058311114336715014206;
  weights(59) = 0.0058311114336715014206;
  weights(60) = 0.0078550813112851589765;
  weights(61) = 0.0078550813112851589765;
  weights(62) = 0.0078550813112851589765;
  weights(63) = 0.0078550813112851589765;
  weights(64) = 0.0078550813112851589765;
  weights(65) = 0.0078550813112851589765;
  weights(66) = 0.0020533435357877778682;
  weights(67) = 0.0020533435357877778682;
  weights(68) = 0.0020533435357877778682;
  weights(69) = 0.0020533435357877778682;
  weights(70) = 0.0020533435357877778682;
  weights(71) = 0.0020533435357877778682;
  weights(72) = 0.0052817924838734495521;
  weights(73) = 0.0052817924838734495521;
  weights(74) = 0.0052817924838734495521;
  weights(75) = 0.0052817924838734495521;
  weights(76) = 0.0052817924838734495521;
  weights(77) = 0.0052817924838734495521;
  weights(78) = 0.0025270384487923007455;
  weights(79) = 0.0025270384487923007455;
  weights(80) = 0.0025270384487923007455;
  weights(81) = 0.0025270384487923007455;
  weights(82) = 0.0025270384487923007455;
  weights(83) = 0.0025270384487923007455;
  weights(84) = 0.0017845545829281884032;
  weights(85) = 0.0017845545829281884032;
  weights(86) = 0.0017845545829281884032;
  weights(87) = 0.0072078565640523025934;
  weights(88) = 0.0072078565640523025934;
  weights(89) = 0.0072078565640523025934;
  weights(90) = 0.00032021426558571296174;
  weights(91) = 0.00032021426558571296174;
  weights(92) = 0.00032021426558571296174;
  weights(93) = 0.00032021426558571296174;
  weights(94) = 0.00032021426558571296174;
  weights(95) = 0.00032021426558571296174;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 22);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 23>() { // NOLINT
  Eigen::MatrixXd points(2, 103);
  Eigen::VectorXd weights(103);

  points(0, 0) = 0.15950379892475721744;
  points(1, 0) = 0.023870253654353617428;
  points(0, 1) = 0.81662594742088912003;
  points(1, 1) = 0.15950379892475724519;
  points(0, 2) = 0.023870253654353745798;
  points(1, 2) = 0.81662594742088923105;
  points(0, 3) = 0.81662594742088923105;
  points(1, 3) = 0.023870253654353617428;
  points(0, 4) = 0.1595037989247573007;
  points(1, 4) = 0.81662594742088923105;
  points(0, 5) = 0.023870253654353398853;
  points(1, 5) = 0.1595037989247575505;
  points(0, 6) = 0.11410136032236453674;
  points(1, 6) = 0.0051898217608445373905;
  points(0, 7) = 0.88070881791679078709;
  points(1, 7) = 0.11410136032236452286;
  points(0, 8) = 0.0051898217608446484128;
  points(1, 8) = 0.88070881791679112016;
  points(0, 9) = 0.88070881791679089812;
  points(1, 9) = 0.0051898217608445373905;
  points(0, 10) = 0.11410136032236456449;
  points(1, 10) = 0.88070881791679112016;
  points(0, 11) = 0.0051898217608443153459;
  points(1, 11) = 0.11410136032236484205;
  points(0, 12) = 0.039007268757031990369;
  points(1, 12) = 0.039007268757032274864;
  points(0, 13) = 0.92198546248593571395;
  points(1, 13) = 0.039007268757031955675;
  points(0, 14) = 0.03900726875703236507;
  points(1, 14) = 0.92198546248593593599;
  points(0, 15) = 0.095539878171734898826;
  points(1, 15) = 0.032741029188706416431;
  points(0, 16) = 0.87171909263955860148;
  points(1, 16) = 0.095539878171734912704;
  points(0, 17) = 0.032741029188706527453;
  points(1, 17) = 0.87171909263955882352;
  points(0, 18) = 0.8717190926395587125;
  points(1, 18) = 0.032741029188706416431;
  points(0, 19) = 0.095539878171734926582;
  points(1, 19) = 0.87171909263955882352;
  points(0, 20) = 0.032741029188706208264;
  points(1, 20) = 0.095539878171735231893;
  points(0, 21) = 0.31116226805170194014;
  points(1, 21) = 0.0024475998559663801959;
  points(0, 22) = 0.68639013209233157298;
  points(1, 22) = 0.31116226805170199565;
  points(0, 23) = 0.0024475998559663758591;
  points(1, 23) = 0.68639013209233190604;
  points(0, 24) = 0.686390132092331684;
  points(1, 24) = 0.0024475998559663801959;
  points(0, 25) = 0.31116226805170194014;
  points(1, 25) = 0.68639013209233190604;
  points(0, 26) = 0.0024475998559662370813;
  points(1, 26) = 0.31116226805170216219;
  points(0, 27) = 0.20561723205805207404;
  points(1, 27) = 0.008725289585308536669;
  points(0, 28) = 0.78565747835663946042;
  points(1, 28) = 0.20561723205805212955;
  points(0, 29) = 0.008725289585308548812;
  points(1, 29) = 0.78565747835663957144;
  points(0, 30) = 0.78565747835663934939;
  points(1, 30) = 0.008725289585308536669;
  points(0, 31) = 0.2056172320580521018;
  points(1, 31) = 0.78565747835663957144;
  points(0, 32) = 0.0087252895853083267674;
  points(1, 32) = 0.20561723205805237935;
  points(0, 33) = 0.047261629449725298113;
  points(1, 33) = 0.007162539910244484706;
  points(0, 34) = 0.94557583064003025708;
  points(1, 34) = 0.047261629449725270358;
  points(0, 35) = 0.0071625399102446807298;
  points(1, 35) = 0.94557583064003025708;
  points(0, 36) = 0.94557583064003025708;
  points(1, 36) = 0.007162539910244484706;
  points(0, 37) = 0.04726162944972550628;
  points(1, 37) = 0.94557583064003025708;
  points(0, 38) = 0.0071625399102442297017;
  points(1, 38) = 0.047261629449725686691;
  points(0, 39) = 0.35850959356962508462;
  points(1, 39) = 0.068526954187213010017;
  points(0, 40) = 0.57296345224316191924;
  points(1, 40) = 0.35850959356962514013;
  points(0, 41) = 0.06852695418721305165;
  points(1, 41) = 0.57296345224316203026;
  points(0, 42) = 0.57296345224316191924;
  points(1, 42) = 0.068526954187213010017;
  points(0, 43) = 0.35850959356962502911;
  points(1, 43) = 0.57296345224316203026;
  points(0, 44) = 0.068526954187212940628;
  points(1, 44) = 0.35850959356962530666;
  points(0, 45) = 0.48032887733730850188;
  points(1, 45) = 0.039342245325383044807;
  points(0, 46) = 0.48032887733730850188;
  points(1, 46) = 0.48032887733730855739;
  points(0, 47) = 0.039342245325382996235;
  points(1, 47) = 0.48032887733730866842;
  points(0, 48) = 0.24048277203501267074;
  points(1, 48) = 0.10172832932728426147;
  points(0, 49) = 0.65778889863770306778;
  points(1, 49) = 0.24048277203501272625;
  points(0, 50) = 0.10172832932728426147;
  points(1, 50) = 0.65778889863770328983;
  points(0, 51) = 0.65778889863770317881;
  points(1, 51) = 0.10172832932728426147;
  points(0, 52) = 0.24048277203501261523;
  points(1, 52) = 0.65778889863770328983;
  points(0, 53) = 0.10172832932728408106;
  points(1, 53) = 0.24048277203501292054;
  points(0, 54) = 0.086841048207633053657;
  points(1, 54) = 0.08684104820763328958;
  points(0, 55) = 0.82631790358473367064;
  points(1, 55) = 0.086841048207633025902;
  points(0, 56) = 0.086841048207633442235;
  points(1, 56) = 0.82631790358473378166;
  points(0, 57) = 0.3943235060115415358;
  points(1, 57) = 0.21135298797691695616;
  points(0, 58) = 0.39432350601154148029;
  points(1, 58) = 0.39432350601154164682;
  points(0, 59) = 0.21135298797691687289;
  points(1, 59) = 0.39432350601154164682;
  points(0, 60) = 0.26625131787724720667;
  points(1, 60) = 0.26625131787724742871;
  points(0, 61) = 0.46749736424550530911;
  points(1, 61) = 0.26625131787724731769;
  points(0, 62) = 0.2662513178772473732;
  points(1, 62) = 0.46749736424550547564;
  points(0, 63) = 0.17293230312922397429;
  points(1, 63) = 0.058351575237515461436;
  points(0, 64) = 0.76871612163326052958;
  points(1, 64) = 0.17293230312922394654;
  points(0, 65) = 0.058351575237515551642;
  points(1, 65) = 0.76871612163326075162;
  points(0, 66) = 0.76871612163326052958;
  points(1, 66) = 0.058351575237515461436;
  points(0, 67) = 0.1729323031292240298;
  points(1, 67) = 0.76871612163326075162;
  points(0, 68) = 0.058351575237515287964;
  points(1, 68) = 0.17293230312922422409;
  points(0, 69) = 0.31630430765383810154;
  points(1, 69) = 0.15483015540551628431;
  points(0, 70) = 0.52886553694064564191;
  points(1, 70) = 0.31630430765383815706;
  points(0, 71) = 0.15483015540551625655;
  points(1, 71) = 0.52886553694064575293;
  points(0, 72) = 0.52886553694064564191;
  points(1, 72) = 0.15483015540551628431;
  points(0, 73) = 0.31630430765383815706;
  points(1, 73) = 0.52886553694064575293;
  points(0, 74) = 0.15483015540551614553;
  points(1, 74) = 0.31630430765383832359;
  points(0, 75) = 0.13712938731164747708;
  points(1, 75) = 0.13712938731164778239;
  points(0, 76) = 0.72574122537670471278;
  points(1, 76) = 0.13712938731164750483;
  points(0, 77) = 0.13712938731164781014;
  points(1, 77) = 0.7257412253767048238;
  points(0, 78) = 0.49895943120958630157;
  points(1, 78) = 0.002081137580827392957;
  points(0, 79) = 0.49895943120958630157;
  points(1, 79) = 0.49895943120958635708;
  points(0, 80) = 0.002081137580827341349;
  points(1, 80) = 0.49895943120958652361;
  points(0, 81) = 0.39775857680300763519;
  points(1, 81) = 0.014758969729945175739;
  points(0, 82) = 0.58748245346704708325;
  points(1, 82) = 0.39775857680300774621;
  points(0, 83) = 0.014758969729945115024;
  points(1, 83) = 0.58748245346704741632;
  points(0, 84) = 0.58748245346704708325;
  points(1, 84) = 0.014758969729945175739;
  points(0, 85) = 0.39775857680300763519;
  points(1, 85) = 0.5874824534670473053;
  points(0, 86) = 0.014758969729945031757;
  points(1, 86) = 0.39775857680300791275;
  points(0, 87) = 0.44469244212772751634;
  points(1, 87) = 0.11061511574454500895;
  points(0, 88) = 0.44469244212772751634;
  points(1, 88) = 0.44469244212772762737;
  points(0, 89) = 0.1106151157445449118;
  points(1, 89) = 0.44469244212772773839;
  points(0, 90) = 0.19874980639653611059;
  points(1, 90) = 0.19874980639653636039;
  points(0, 91) = 0.60250038720692744576;
  points(1, 91) = 0.19874980639653622161;
  points(0, 92) = 0.19874980639653627712;
  points(1, 92) = 0.6025003872069276678;
  points(0, 93) = 0.27879416981410226617;
  points(1, 93) = 0.032993708192532805734;
  points(0, 94) = 0.68821212199336490034;
  points(1, 94) = 0.27879416981410232168;
  points(0, 95) = 0.03299370819253283349;
  points(1, 95) = 0.68821212199336512239;
  points(0, 96) = 0.68821212199336490034;
  points(1, 96) = 0.032993708192532805734;
  points(0, 97) = 0.27879416981410232168;
  points(1, 97) = 0.68821212199336501136;
  points(0, 98) = 0.032993708192532666956;
  points(1, 98) = 0.27879416981410254373;
  points(0, 99) = 0.0090164402055981952844;
  points(1, 99) = 0.0090164402055984919221;
  points(0, 100) = 0.98196711958880333881;
  points(1, 100) = 0.0090164402055981709982;
  points(0, 101) = 0.0090164402055986081486;
  points(1, 101) = 0.98196711958880344984;
  points(0, 102) = 0.33333333333333325932;
  points(1, 102) = 0.33333333333333342585;

  weights(0) = 0.001264083027691131119;
  weights(1) = 0.001264083027691131119;
  weights(2) = 0.001264083027691131119;
  weights(3) = 0.001264083027691131119;
  weights(4) = 0.001264083027691131119;
  weights(5) = 0.001264083027691131119;
  weights(6) = 0.0011125098648622567046;
  weights(7) = 0.0011125098648622567046;
  weights(8) = 0.0011125098648622567046;
  weights(9) = 0.0011125098648622567046;
  weights(10) = 0.0011125098648622567046;
  weights(11) = 0.0011125098648622567046;
  weights(12) = 0.0019578701295164665716;
  weights(13) = 0.0019578701295164665716;
  weights(14) = 0.0019578701295164665716;
  weights(15) = 0.0026640152155973911147;
  weights(16) = 0.0026640152155973911147;
  weights(17) = 0.0026640152155973911147;
  weights(18) = 0.0026640152155973911147;
  weights(19) = 0.0026640152155973911147;
  weights(20) = 0.0026640152155973911147;
  weights(21) = 0.0011405518381279167433;
  weights(22) = 0.0011405518381279167433;
  weights(23) = 0.0011405518381279167433;
  weights(24) = 0.0011405518381279167433;
  weights(25) = 0.0011405518381279167433;
  weights(26) = 0.0011405518381279167433;
  weights(27) = 0.0020573751722080448751;
  weights(28) = 0.0020573751722080448751;
  weights(29) = 0.0020573751722080448751;
  weights(30) = 0.0020573751722080448751;
  weights(31) = 0.0020573751722080448751;
  weights(32) = 0.0020573751722080448751;
  weights(33) = 0.00097629566394536262692;
  weights(34) = 0.00097629566394536262692;
  weights(35) = 0.00097629566394536262692;
  weights(36) = 0.00097629566394536262692;
  weights(37) = 0.00097629566394536262692;
  weights(38) = 0.00097629566394536262692;
  weights(39) = 0.0074905566965995798792;
  weights(40) = 0.0074905566965995798792;
  weights(41) = 0.0074905566965995798792;
  weights(42) = 0.0074905566965995798792;
  weights(43) = 0.0074905566965995798792;
  weights(44) = 0.0074905566965995798792;
  weights(45) = 0.0056989446339003766925;
  weights(46) = 0.0056989446339003766925;
  weights(47) = 0.0056989446339003766925;
  weights(48) = 0.0080606208185085726631;
  weights(49) = 0.0080606208185085726631;
  weights(50) = 0.0080606208185085726631;
  weights(51) = 0.0080606208185085726631;
  weights(52) = 0.0080606208185085726631;
  weights(53) = 0.0080606208185085726631;
  weights(54) = 0.0044799585127567693663;
  weights(55) = 0.0044799585127567693663;
  weights(56) = 0.0044799585127567693663;
  weights(57) = 0.011837304231564003965;
  weights(58) = 0.011837304231564003965;
  weights(59) = 0.011837304231564003965;
  weights(60) = 0.011903931443749874927;
  weights(61) = 0.011903931443749874927;
  weights(62) = 0.011903931443749874927;
  weights(63) = 0.0052351282465650300288;
  weights(64) = 0.0052351282465650300288;
  weights(65) = 0.0052351282465650300288;
  weights(66) = 0.0052351282465650300288;
  weights(67) = 0.0052351282465650300288;
  weights(68) = 0.0052351282465650300288;
  weights(69) = 0.010422197929484400269;
  weights(70) = 0.010422197929484400269;
  weights(71) = 0.010422197929484400269;
  weights(72) = 0.010422197929484400269;
  weights(73) = 0.010422197929484400269;
  weights(74) = 0.010422197929484400269;
  weights(75) = 0.0072797246963708693926;
  weights(76) = 0.0072797246963708693926;
  weights(77) = 0.0072797246963708693926;
  weights(78) = 0.0012037723020907043197;
  weights(79) = 0.0012037723020907043197;
  weights(80) = 0.0012037723020907043197;
  weights(81) = 0.0035488894172609102354;
  weights(82) = 0.0035488894172609102354;
  weights(83) = 0.0035488894172609102354;
  weights(84) = 0.0035488894172609102354;
  weights(85) = 0.0035488894172609102354;
  weights(86) = 0.0035488894172609102354;
  weights(87) = 0.0094759753346694373249;
  weights(88) = 0.0094759753346694373249;
  weights(89) = 0.0094759753346694373249;
  weights(90) = 0.0099676389400525072099;
  weights(91) = 0.0099676389400525072099;
  weights(92) = 0.0099676389400525072099;
  weights(93) = 0.005087787328353516117;
  weights(94) = 0.005087787328353516117;
  weights(95) = 0.005087787328353516117;
  weights(96) = 0.005087787328353516117;
  weights(97) = 0.005087787328353516117;
  weights(98) = 0.005087787328353516117;
  weights(99) = 0.00053268061641465727554;
  weights(100) = 0.00053268061641465727554;
  weights(101) = 0.00053268061641465727554;
  weights(102) = 0.0126265301615180979;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 23);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 24>() { // NOLINT
  Eigen::MatrixXd points(2, 112);
  Eigen::VectorXd weights(112);

  points(0, 0) = 0.33333333333333325932;
  points(1, 0) = 0.33333333333333342585;
  points(0, 1) = 0.41889097491060273137;
  points(1, 1) = 0.16221805017879453725;
  points(0, 2) = 0.41889097491060267586;
  points(1, 2) = 0.4188909749106028424;
  points(0, 3) = 0.16221805017879442623;
  points(1, 3) = 0.41889097491060289791;
  points(0, 4) = 0.16236063371692627255;
  points(1, 4) = 0.16236063371692646684;
  points(0, 5) = 0.67527873256614723285;
  points(1, 5) = 0.16236063371692630031;
  points(0, 6) = 0.1623606337169264946;
  points(1, 6) = 0.6752787325661474549;
  points(0, 7) = 0.24147976007359400752;
  points(1, 7) = 0.17036728246244373097;
  points(0, 8) = 0.58815295746396223375;
  points(1, 8) = 0.24147976007359406303;
  points(0, 9) = 0.17036728246244370322;
  points(1, 9) = 0.5881529574639624558;
  points(0, 10) = 0.58815295746396223375;
  points(1, 10) = 0.17036728246244373097;
  points(0, 11) = 0.24147976007359400752;
  points(1, 11) = 0.5881529574639624558;
  points(0, 12) = 0.17036728246244356444;
  points(1, 12) = 0.24147976007359422956;
  points(0, 13) = 0.3289758089242263428;
  points(1, 13) = 0.16975979586073605687;
  points(0, 14) = 0.50126439521503751706;
  points(1, 14) = 0.32897580892422639831;
  points(0, 15) = 0.16975979586073602912;
  points(1, 15) = 0.50126439521503773911;
  points(0, 16) = 0.50126439521503762808;
  points(1, 16) = 0.16975979586073605687;
  points(0, 17) = 0.32897580892422639831;
  points(1, 17) = 0.50126439521503773911;
  points(0, 18) = 0.16975979586073594585;
  points(1, 18) = 0.32897580892422656484;
  points(0, 19) = 0.040985629001116949399;
  points(1, 19) = 0.040985629001117261649;
  points(0, 20) = 0.91802874199776574038;
  points(1, 20) = 0.04098562900111694246;
  points(0, 21) = 0.040985629001117407366;
  points(1, 21) = 0.9180287419977658514;
  points(0, 22) = 0.0067312708878882569763;
  points(1, 22) = 0.0067312708878885310626;
  points(0, 23) = 0.98653745822422322931;
  points(1, 23) = 0.0067312708878882110061;
  points(0, 24) = 0.0067312708878887184127;
  points(1, 24) = 0.98653745822422322931;
  points(0, 25) = 0.093167409779881138476;
  points(1, 25) = 0.038318225821019395727;
  points(0, 26) = 0.86851436439909945886;
  points(1, 26) = 0.093167409779881152354;
  points(0, 27) = 0.038318225821019513688;
  points(1, 27) = 0.86851436439909956988;
  points(0, 28) = 0.86851436439909945886;
  points(1, 28) = 0.038318225821019395727;
  points(0, 29) = 0.093167409779881249499;
  points(1, 29) = 0.86851436439909956988;
  points(0, 30) = 0.03831822582101912511;
  points(1, 30) = 0.093167409779881471543;
  points(0, 31) = 0.39452027980019432896;
  points(1, 31) = 0.092656481520757547066;
  points(0, 32) = 0.5128232386790481101;
  points(1, 32) = 0.39452027980019443998;
  points(0, 33) = 0.092656481520757449921;
  points(1, 33) = 0.51282323867904833214;
  points(0, 34) = 0.5128232386790481101;
  points(1, 34) = 0.092656481520757547066;
  points(0, 35) = 0.39452027980019438447;
  points(1, 35) = 0.51282323867904822112;
  points(0, 36) = 0.092656481520757449921;
  points(1, 36) = 0.394520279800194551;
  points(0, 37) = 0.16267741639447741431;
  points(1, 37) = 0.041188714248475387369;
  points(0, 38) = 0.79613386935704721914;
  points(1, 38) = 0.16267741639447738655;
  points(0, 39) = 0.041188714248475588597;
  points(1, 39) = 0.79613386935704721914;
  points(0, 40) = 0.79613386935704721914;
  points(1, 40) = 0.041188714248475387369;
  points(0, 41) = 0.16267741639447752533;
  points(1, 41) = 0.79613386935704721914;
  points(0, 42) = 0.041188714248475158386;
  points(1, 42) = 0.16267741639447771962;
  points(0, 43) = 0.25358901421887947158;
  points(1, 43) = 0.039570904970158055081;
  points(0, 44) = 0.70684008081096250109;
  points(1, 44) = 0.25358901421887947158;
  points(0, 45) = 0.039570904970158082836;
  points(1, 45) = 0.70684008081096261211;
  points(0, 46) = 0.70684008081096250109;
  points(1, 46) = 0.039570904970158055081;
  points(0, 47) = 0.2535890142188795271;
  points(1, 47) = 0.70684008081096261211;
  points(0, 48) = 0.039570904970157888547;
  points(1, 48) = 0.25358901421887974914;
  points(0, 49) = 0.36225224131779126813;
  points(1, 49) = 0.038592700174896139853;
  points(0, 50) = 0.59915505850731265447;
  points(1, 50) = 0.36225224131779137915;
  points(0, 51) = 0.038592700174896077403;
  points(1, 51) = 0.59915505850731276549;
  points(0, 52) = 0.59915505850731254345;
  points(1, 52) = 0.038592700174896139853;
  points(0, 53) = 0.36225224131779132364;
  points(1, 53) = 0.59915505850731265447;
  points(0, 54) = 0.038592700174896021892;
  points(1, 54) = 0.36225224131779154568;
  points(0, 55) = 0.28162257770616083707;
  points(1, 55) = 0.094534961736599032456;
  points(0, 56) = 0.62384246055724001945;
  points(1, 56) = 0.2816225777061609481;
  points(0, 57) = 0.094534961736598976945;
  points(1, 57) = 0.62384246055724035251;
  points(0, 58) = 0.62384246055724013047;
  points(1, 58) = 0.094534961736599032456;
  points(0, 59) = 0.28162257770616083707;
  points(1, 59) = 0.62384246055724035251;
  points(0, 60) = 0.094534961736598838167;
  points(1, 60) = 0.28162257770616111463;
  points(0, 61) = 0.38327266499265921773;
  points(1, 61) = 0.0073879946322942405615;
  points(0, 62) = 0.60933934037504655645;
  points(1, 62) = 0.38327266499265927324;
  points(0, 63) = 0.0073879946322941703052;
  points(1, 63) = 0.6093393403750467785;
  points(0, 64) = 0.60933934037504644543;
  points(1, 64) = 0.0073879946322942405615;
  points(0, 65) = 0.38327266499265921773;
  points(1, 65) = 0.60933934037504666748;
  points(0, 66) = 0.0073879946322941425496;
  points(1, 66) = 0.38327266499265949529;
  points(0, 67) = 0.27375035251626050892;
  points(1, 67) = 0.0075460031623128184797;
  points(0, 68) = 0.71870364432142663791;
  points(1, 68) = 0.27375035251626050892;
  points(0, 69) = 0.0075460031623128531741;
  points(1, 69) = 0.71870364432142697098;
  points(0, 70) = 0.71870364432142663791;
  points(1, 70) = 0.0075460031623128184797;
  points(0, 71) = 0.27375035251626056443;
  points(1, 71) = 0.71870364432142674893;
  points(0, 72) = 0.0075460031623125756184;
  points(1, 72) = 0.27375035251626078647;
  points(0, 73) = 0.49625527767573512916;
  points(1, 73) = 0.0074894446485297954536;
  points(0, 74) = 0.49625527767573507365;
  points(1, 74) = 0.49625527767573518467;
  points(0, 75) = 0.0074894446485297139215;
  points(1, 75) = 0.49625527767573535121;
  points(0, 76) = 0.094121342797366031041;
  points(1, 76) = 0.0072345584577821397607;
  points(0, 77) = 0.89864409874485184915;
  points(1, 77) = 0.094121342797366031041;
  points(0, 78) = 0.0072345584577822030781;
  points(1, 78) = 0.89864409874485207119;
  points(0, 79) = 0.89864409874485184915;
  points(1, 79) = 0.0072345584577821397607;
  points(0, 80) = 0.094121342797366114308;
  points(1, 80) = 0.89864409874485196017;
  points(0, 81) = 0.0072345584577818769501;
  points(1, 81) = 0.094121342797366377986;
  points(0, 82) = 0.26423131543827249601;
  points(1, 82) = 0.26423131543827266254;
  points(0, 83) = 0.47153736912345484145;
  points(1, 83) = 0.26423131543827260703;
  points(0, 84) = 0.26423131543827266254;
  points(1, 84) = 0.47153736912345489696;
  points(0, 85) = 0.180396151886765721;
  points(1, 85) = 0.09556626952736525793;
  points(0, 86) = 0.72403757858586892393;
  points(1, 86) = 0.18039615188676574875;
  points(0, 87) = 0.095566269527365355074;
  points(1, 87) = 0.72403757858586914598;
  points(0, 88) = 0.72403757858586892393;
  points(1, 88) = 0.09556626952736525793;
  points(0, 89) = 0.180396151886765721;
  points(1, 89) = 0.724037578585869257;
  points(0, 90) = 0.09556626952736500813;
  points(1, 90) = 0.1803961518867659708;
  points(0, 91) = 0.4806125617925032234;
  points(1, 91) = 0.038774876414993518503;
  points(0, 92) = 0.48061256179250327891;
  points(1, 92) = 0.48061256179250333442;
  points(0, 93) = 0.038774876414993442175;
  points(1, 93) = 0.48061256179250344545;
  points(0, 94) = 0.17473734628280568337;
  points(1, 94) = 0.0079879218808479677399;
  points(0, 95) = 0.81727473183634635756;
  points(1, 95) = 0.17473734628280565562;
  points(0, 96) = 0.0079879218808480145775;
  points(1, 96) = 0.81727473183634657961;
  points(0, 97) = 0.81727473183634624654;
  points(1, 97) = 0.0079879218808479677399;
  points(0, 98) = 0.17473734628280573888;
  points(1, 98) = 0.81727473183634657961;
  points(0, 99) = 0.0079879218808477647773;
  points(1, 99) = 0.17473734628280596093;
  points(0, 100) = 0.096328495599215052669;
  points(1, 100) = 0.096328495599215344103;
  points(0, 101) = 0.80734300880156961711;
  points(1, 101) = 0.096328495599215080425;
  points(0, 102) = 0.096328495599215357981;
  points(1, 102) = 0.80734300880156972813;
  points(0, 103) = 0.037291472051291213452;
  points(1, 103) = 0.0080749108702087776801;
  points(0, 104) = 0.95463361707850002968;
  points(1, 104) = 0.03729147205129116488;
  points(0, 105) = 0.0080749108702090066636;
  points(1, 105) = 0.95463361707850002968;
  points(0, 106) = 0.95463361707850002968;
  points(1, 106) = 0.0080749108702087776801;
  points(0, 107) = 0.037291472051291407741;
  points(1, 107) = 0.95463361707850002968;
  points(0, 108) = 0.0080749108702084862466;
  points(1, 108) = 0.037291472051291615908;
  points(0, 109) = 0.37535292670208625365;
  points(1, 109) = 0.2492941465958274927;
  points(0, 110) = 0.37535292670208630916;
  points(1, 110) = 0.37535292670208636467;
  points(0, 111) = 0.24929414659582738167;
  points(1, 111) = 0.37535292670208642019;

  weights(0) = 0.0062728449228001597129;
  weights(1) = 0.0065552663509426201474;
  weights(2) = 0.0065552663509426201474;
  weights(3) = 0.0065552663509426201474;
  weights(4) = 0.0051895080282000965663;
  weights(5) = 0.0051895080282000965663;
  weights(6) = 0.0051895080282000965663;
  weights(7) = 0.0070725229032424230535;
  weights(8) = 0.0070725229032424230535;
  weights(9) = 0.0070725229032424230535;
  weights(10) = 0.0070725229032424230535;
  weights(11) = 0.0070725229032424230535;
  weights(12) = 0.0070725229032424230535;
  weights(13) = 0.0076372213006623132156;
  weights(14) = 0.0076372213006623132156;
  weights(15) = 0.0076372213006623132156;
  weights(16) = 0.0076372213006623132156;
  weights(17) = 0.0076372213006623132156;
  weights(18) = 0.0076372213006623132156;
  weights(19) = 0.0019168498654645916863;
  weights(20) = 0.0019168498654645916863;
  weights(21) = 0.0019168498654645916863;
  weights(22) = 0.00030862725274832157824;
  weights(23) = 0.00030862725274832157824;
  weights(24) = 0.00030862725274832157824;
  weights(25) = 0.0026831357270838841061;
  weights(26) = 0.0026831357270838841061;
  weights(27) = 0.0026831357270838841061;
  weights(28) = 0.0026831357270838841061;
  weights(29) = 0.0026831357270838841061;
  weights(30) = 0.0026831357270838841061;
  weights(31) = 0.0075159271748706712665;
  weights(32) = 0.0075159271748706712665;
  weights(33) = 0.0075159271748706712665;
  weights(34) = 0.0075159271748706712665;
  weights(35) = 0.0075159271748706712665;
  weights(36) = 0.0075159271748706712665;
  weights(37) = 0.0036020670873987141632;
  weights(38) = 0.0036020670873987141632;
  weights(39) = 0.0036020670873987141632;
  weights(40) = 0.0036020670873987141632;
  weights(41) = 0.0036020670873987141632;
  weights(42) = 0.0036020670873987141632;
  weights(43) = 0.0044524384640817829539;
  weights(44) = 0.0044524384640817829539;
  weights(45) = 0.0044524384640817829539;
  weights(46) = 0.0044524384640817829539;
  weights(47) = 0.0044524384640817829539;
  weights(48) = 0.0044524384640817829539;
  weights(49) = 0.0049736259378412098209;
  weights(50) = 0.0049736259378412098209;
  weights(51) = 0.0049736259378412098209;
  weights(52) = 0.0049736259378412098209;
  weights(53) = 0.0049736259378412098209;
  weights(54) = 0.0049736259378412098209;
  weights(55) = 0.007176175789078727621;
  weights(56) = 0.007176175789078727621;
  weights(57) = 0.007176175789078727621;
  weights(58) = 0.007176175789078727621;
  weights(59) = 0.007176175789078727621;
  weights(60) = 0.007176175789078727621;
  weights(61) = 0.0021210746334018844642;
  weights(62) = 0.0021210746334018844642;
  weights(63) = 0.0021210746334018844642;
  weights(64) = 0.0021210746334018844642;
  weights(65) = 0.0021210746334018844642;
  weights(66) = 0.0021210746334018844642;
  weights(67) = 0.0020406375385582254528;
  weights(68) = 0.0020406375385582254528;
  weights(69) = 0.0020406375385582254528;
  weights(70) = 0.0020406375385582254528;
  weights(71) = 0.0020406375385582254528;
  weights(72) = 0.0020406375385582254528;
  weights(73) = 0.0021716233610853488169;
  weights(74) = 0.0021716233610853488169;
  weights(75) = 0.0021716233610853488169;
  weights(76) = 0.0012946061911989924145;
  weights(77) = 0.0012946061911989924145;
  weights(78) = 0.0012946061911989924145;
  weights(79) = 0.0012946061911989924145;
  weights(80) = 0.0012946061911989924145;
  weights(81) = 0.0012946061911989924145;
  weights(82) = 0.010260004335754921781;
  weights(83) = 0.010260004335754921781;
  weights(84) = 0.010260004335754921781;
  weights(85) = 0.0059217810712715547236;
  weights(86) = 0.0059217810712715547236;
  weights(87) = 0.0059217810712715547236;
  weights(88) = 0.0059217810712715547236;
  weights(89) = 0.0059217810712715547236;
  weights(90) = 0.0059217810712715547236;
  weights(91) = 0.0051762473854263012576;
  weights(92) = 0.0051762473854263012576;
  weights(93) = 0.0051762473854263012576;
  weights(94) = 0.0018536133821231543482;
  weights(95) = 0.0018536133821231543482;
  weights(96) = 0.0018536133821231543482;
  weights(97) = 0.0018536133821231543482;
  weights(98) = 0.0018536133821231543482;
  weights(99) = 0.0018536133821231543482;
  weights(100) = 0.0050136965336944538593;
  weights(101) = 0.0050136965336944538593;
  weights(102) = 0.0050136965336944538593;
  weights(103) = 0.00089847379272328827243;
  weights(104) = 0.00089847379272328827243;
  weights(105) = 0.00089847379272328827243;
  weights(106) = 0.00089847379272328827243;
  weights(107) = 0.00089847379272328827243;
  weights(108) = 0.00089847379272328827243;
  weights(109) = 0.0094972932586763290225;
  weights(110) = 0.0094972932586763290225;
  weights(111) = 0.0094972932586763290225;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 24);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 25>() { // NOLINT
  Eigen::MatrixXd points(2, 120);
  Eigen::VectorXd weights(120);

  points(0, 0) = 0.38764203040456335358;
  points(1, 0) = 0.22471593919087323732;
  points(0, 1) = 0.3876420304045634091;
  points(1, 1) = 0.38764203040456346461;
  points(0, 2) = 0.2247159391908731263;
  points(1, 2) = 0.38764203040456357563;
  points(0, 3) = 0.21100450806149656513;
  points(1, 3) = 0.21100450806149675942;
  points(0, 4) = 0.5779909838770066477;
  points(1, 4) = 0.21100450806149662064;
  points(0, 5) = 0.21100450806149667615;
  points(1, 5) = 0.57799098387700686974;
  points(0, 6) = 0.44041692747934330088;
  points(1, 6) = 0.0018188666342743881488;
  points(0, 7) = 0.55776420588638231379;
  points(1, 7) = 0.44041692747934335639;
  points(0, 8) = 0.0018188666342743298188;
  points(1, 8) = 0.55776420588638253584;
  points(0, 9) = 0.55776420588638231379;
  points(1, 9) = 0.0018188666342743881488;
  points(0, 10) = 0.44041692747934335639;
  points(1, 10) = 0.55776420588638231379;
  points(0, 11) = 0.0018188666342742743076;
  points(1, 11) = 0.44041692747934357843;
  points(0, 12) = 0.29949231580450841328;
  points(1, 12) = 0.29949231580450863532;
  points(0, 13) = 0.40101536839098300691;
  points(1, 13) = 0.2994923158045085243;
  points(0, 14) = 0.29949231580450841328;
  points(1, 14) = 0.40101536839098311793;
  points(0, 15) = 0.15900790619732788067;
  points(1, 15) = 0.036960141579671486334;
  points(0, 16) = 0.80403195222300050116;
  points(1, 16) = 0.15900790619732788067;
  points(0, 17) = 0.036960141579671590417;
  points(1, 17) = 0.8040319522230007232;
  points(0, 18) = 0.8040319522230007232;
  points(1, 18) = 0.036960141579671486334;
  points(0, 19) = 0.15900790619732790843;
  points(1, 19) = 0.8040319522230007232;
  points(0, 20) = 0.036960141579671271228;
  points(1, 20) = 0.15900790619732815823;
  points(0, 21) = 0.037222925992440633602;
  points(1, 21) = 0.037222925992440945853;
  points(0, 22) = 0.92555414801511837197;
  points(1, 22) = 0.037222925992440626664;
  points(0, 23) = 0.037222925992441036058;
  points(1, 23) = 0.92555414801511859402;
  points(0, 24) = 0.17735379675725287951;
  points(1, 24) = 0.078858068005635301168;
  points(0, 25) = 0.74378813523711173605;
  points(1, 25) = 0.17735379675725290727;
  points(0, 26) = 0.078858068005635384434;
  points(1, 26) = 0.7437881352371119581;
  points(0, 27) = 0.74378813523711184708;
  points(1, 27) = 0.078858068005635301168;
  points(0, 28) = 0.17735379675725299053;
  points(1, 28) = 0.7437881352371119581;
  points(0, 29) = 0.078858068005635093001;
  points(1, 29) = 0.17735379675725318482;
  points(0, 30) = 0.14510924357450022404;
  points(1, 30) = 0.14510924357450047384;
  points(0, 31) = 0.70978151285099921886;
  points(1, 31) = 0.14510924357450027955;
  points(0, 32) = 0.14510924357450055711;
  points(1, 32) = 0.70978151285099932988;
  points(0, 33) = 0.27006673582095935826;
  points(1, 33) = 0.068847529431497939134;
  points(0, 34) = 0.66108573474754261934;
  points(1, 34) = 0.27006673582095941377;
  points(0, 35) = 0.068847529431497911379;
  points(1, 35) = 0.66108573474754284138;
  points(0, 36) = 0.66108573474754273036;
  points(1, 36) = 0.068847529431497939134;
  points(0, 37) = 0.27006673582095935826;
  points(1, 37) = 0.66108573474754284138;
  points(0, 38) = 0.068847529431497744845;
  points(1, 38) = 0.27006673582095963582;
  points(0, 39) = 0.34139103302114987004;
  points(1, 39) = 0.11599980764096021191;
  points(0, 40) = 0.5426091593378898903;
  points(1, 40) = 0.34139103302114992555;
  points(0, 41) = 0.11599980764096018415;
  points(1, 41) = 0.54260915933789011234;
  points(0, 42) = 0.5426091593378898903;
  points(1, 42) = 0.11599980764096021191;
  points(0, 43) = 0.34139103302114987004;
  points(1, 43) = 0.54260915933789000132;
  points(0, 44) = 0.11599980764096007313;
  points(1, 44) = 0.34139103302115003657;
  points(0, 45) = 0.37393797971958436799;
  points(1, 45) = 0.048317434287376968827;
  points(0, 46) = 0.57774458599303857298;
  points(1, 46) = 0.3739379797195844235;
  points(0, 47) = 0.04831743428737694801;
  points(1, 47) = 0.57774458599303879502;
  points(0, 48) = 0.577744585993038684;
  points(1, 48) = 0.048317434287376968827;
  points(0, 49) = 0.37393797971958447901;
  points(1, 49) = 0.577744585993038684;
  points(0, 50) = 0.048317434287376836988;
  points(1, 50) = 0.37393797971958464554;
  points(0, 51) = 0.099133063341682189917;
  points(1, 51) = 0.0071283145012574263694;
  points(0, 52) = 0.89373862215706034728;
  points(1, 52) = 0.099133063341682162162;
  points(0, 53) = 0.0071283145012575599431;
  points(1, 53) = 0.89373862215706045831;
  points(0, 54) = 0.89373862215706034728;
  points(1, 54) = 0.0071283145012574263694;
  points(0, 55) = 0.099133063341682259306;
  points(1, 55) = 0.89373862215706045831;
  points(0, 56) = 0.0071283145012572060595;
  points(1, 56) = 0.099133063341682522984;
  points(0, 57) = 0.29950641862967453122;
  points(1, 57) = 0.20369291058425104124;
  points(0, 58) = 0.49680067078607448305;
  points(1, 58) = 0.29950641862967458673;
  points(0, 59) = 0.20369291058425098573;
  points(1, 59) = 0.49680067078607459408;
  points(0, 60) = 0.49680067078607448305;
  points(1, 60) = 0.20369291058425104124;
  points(0, 61) = 0.29950641862967453122;
  points(1, 61) = 0.49680067078607459408;
  points(0, 62) = 0.20369291058425090246;
  points(1, 62) = 0.29950641862967469775;
  points(0, 63) = 0.42475930454057470032;
  points(1, 63) = 0.15048139091885059937;
  points(0, 64) = 0.4247593045405746448;
  points(1, 64) = 0.42475930454057481134;
  points(0, 65) = 0.15048139091885046059;
  points(1, 65) = 0.42475930454057492236;
  points(0, 66) = 0.17862984860361624806;
  points(1, 66) = 0.007236161747948158772;
  points(0, 67) = 0.81413398964843564087;
  points(1, 67) = 0.17862984860361624806;
  points(0, 68) = 0.0072361617479482220894;
  points(1, 68) = 0.8141339896484357519;
  points(0, 69) = 0.81413398964843564087;
  points(1, 69) = 0.007236161747948158772;
  points(0, 70) = 0.17862984860361635908;
  points(1, 70) = 0.8141339896484357519;
  points(0, 71) = 0.0072361617479479306558;
  points(1, 71) = 0.17862984860361655337;
  points(0, 72) = 0.36206880189597201447;
  points(1, 72) = 0.012913883250032532138;
  points(0, 73) = 0.62501731485399547594;
  points(1, 73) = 0.36206880189597206998;
  points(0, 74) = 0.012913883250032509586;
  points(1, 74) = 0.62501731485399569799;
  points(0, 75) = 0.62501731485399536492;
  points(1, 75) = 0.012913883250032532138;
  points(0, 76) = 0.36206880189597206998;
  points(1, 76) = 0.62501731485399558697;
  points(0, 77) = 0.012913883250032454075;
  points(1, 77) = 0.36206880189597223652;
  points(0, 78) = 0.088792915489366547321;
  points(1, 78) = 0.037687949784259086594;
  points(0, 79) = 0.87351913472637432445;
  points(1, 79) = 0.088792915489366561199;
  points(0, 80) = 0.037687949784259211494;
  points(1, 80) = 0.87351913472637443547;
  points(0, 81) = 0.87351913472637432445;
  points(1, 81) = 0.037687949784259086594;
  points(0, 82) = 0.088792915489366630588;
  points(1, 82) = 0.87351913472637443547;
  points(0, 83) = 0.037687949784258809038;
  points(1, 83) = 0.088792915489366880388;
  points(0, 84) = 0.23362281014171520921;
  points(1, 84) = 0.1370066940870710015;
  points(0, 85) = 0.62937049577121373378;
  points(1, 85) = 0.23362281014171529248;
  points(0, 86) = 0.1370066940870710015;
  points(1, 86) = 0.62937049577121395583;
  points(0, 87) = 0.6293704957712138448;
  points(1, 87) = 0.1370066940870710015;
  points(0, 88) = 0.23362281014171520921;
  points(1, 88) = 0.62937049577121395583;
  points(0, 89) = 0.13700669408707077945;
  points(1, 89) = 0.23362281014171545901;
  points(0, 90) = 0.46220870874870612077;
  points(1, 90) = 0.075582582502587800088;
  points(0, 91) = 0.46220870874870612077;
  points(1, 91) = 0.46220870874870617628;
  points(0, 92) = 0.075582582502587702944;
  points(1, 92) = 0.46220870874870634282;
  points(0, 93) = 0.25659540970901978385;
  points(1, 93) = 0.02454006024752439577;
  points(0, 94) = 0.71886453004345574058;
  points(1, 94) = 0.25659540970901983936;
  points(0, 95) = 0.024540060247524475567;
  points(1, 95) = 0.7188645300434558516;
  points(0, 96) = 0.7188645300434558516;
  points(1, 96) = 0.02454006024752439577;
  points(0, 97) = 0.25659540970901989487;
  points(1, 97) = 0.7188645300434558516;
  points(0, 98) = 0.024540060247524170256;
  points(1, 98) = 0.25659540970902011692;
  points(0, 99) = 0.092949701700769798984;
  points(1, 99) = 0.092949701700770048785;
  points(0, 100) = 0.81410059659846001345;
  points(1, 100) = 0.09294970170076982674;
  points(0, 101) = 0.092949701700770104296;
  points(1, 101) = 0.8141005965984602355;
  points(0, 102) = 0.041068819111784643505;
  points(1, 102) = 0.0071888282616930409066;
  points(0, 103) = 0.95174235262652229217;
  points(1, 103) = 0.041068819111784587994;
  points(0, 104) = 0.0071888282616932586144;
  points(1, 104) = 0.95174235262652240319;
  points(0, 105) = 0.95174235262652240319;
  points(1, 105) = 0.0071888282616930409066;
  points(0, 106) = 0.041068819111784782283;
  points(1, 106) = 0.95174235262652240319;
  points(0, 107) = 0.0071888282616928006474;
  points(1, 107) = 0.041068819111784976572;
  points(0, 108) = 0.0078353442826036307639;
  points(1, 108) = 0.0078353442826039031155;
  points(0, 109) = 0.98432931143479240887;
  points(1, 109) = 0.0078353442826035821916;
  points(0, 110) = 0.0078353442826041286295;
  points(1, 110) = 0.98432931143479263092;
  points(0, 111) = 0.48903936966039546208;
  points(1, 111) = 0.021921260679209075839;
  points(0, 112) = 0.48903936966039546208;
  points(1, 112) = 0.48903936966039551759;
  points(0, 113) = 0.021921260679209048083;
  points(1, 113) = 0.48903936966039568413;
  points(0, 114) = 0.27941618864926071053;
  points(1, 114) = 0.00089146431749812817241;
  points(0, 115) = 0.71969234703324114211;
  points(1, 115) = 0.27941618864926071053;
  points(0, 116) = 0.00089146431749809185163;
  points(1, 116) = 0.71969234703324147517;
  points(0, 117) = 0.71969234703324114211;
  points(1, 117) = 0.00089146431749812817241;
  points(0, 118) = 0.27941618864926076604;
  points(1, 118) = 0.71969234703324125313;
  points(0, 119) = 0.00089146431749798082933;
  points(1, 119) = 0.27941618864926098809;

  weights(0) = 0.0068449257741361232282;
  weights(1) = 0.0068449257741361232282;
  weights(2) = 0.0068449257741361232282;
  weights(3) = 0.0057936316180052967184;
  weights(4) = 0.0057936316180052967184;
  weights(5) = 0.0057936316180052967184;
  weights(6) = 0.00083740891596735262791;
  weights(7) = 0.00083740891596735262791;
  weights(8) = 0.00083740891596735262791;
  weights(9) = 0.00083740891596735262791;
  weights(10) = 0.00083740891596735262791;
  weights(11) = 0.00083740891596735262791;
  weights(12) = 0.0090088203508507380679;
  weights(13) = 0.0090088203508507380679;
  weights(14) = 0.0090088203508507380679;
  weights(15) = 0.0031557390123796375328;
  weights(16) = 0.0031557390123796375328;
  weights(17) = 0.0031557390123796375328;
  weights(18) = 0.0031557390123796375328;
  weights(19) = 0.0031557390123796375328;
  weights(20) = 0.0031557390123796375328;
  weights(21) = 0.0016986488609523682936;
  weights(22) = 0.0016986488609523682936;
  weights(23) = 0.0016986488609523682936;
  weights(24) = 0.0047575107837278859252;
  weights(25) = 0.0047575107837278859252;
  weights(26) = 0.0047575107837278859252;
  weights(27) = 0.0047575107837278859252;
  weights(28) = 0.0047575107837278859252;
  weights(29) = 0.0047575107837278859252;
  weights(30) = 0.005745762931282399899;
  weights(31) = 0.005745762931282399899;
  weights(32) = 0.005745762931282399899;
  weights(33) = 0.0054421968062184607542;
  weights(34) = 0.0054421968062184607542;
  weights(35) = 0.0054421968062184607542;
  weights(36) = 0.0054421968062184607542;
  weights(37) = 0.0054421968062184607542;
  weights(38) = 0.0054421968062184607542;
  weights(39) = 0.0079201761439492181227;
  weights(40) = 0.0079201761439492181227;
  weights(41) = 0.0079201761439492181227;
  weights(42) = 0.0079201761439492181227;
  weights(43) = 0.0079201761439492181227;
  weights(44) = 0.0079201761439492181227;
  weights(45) = 0.0053200853477543934289;
  weights(46) = 0.0053200853477543934289;
  weights(47) = 0.0053200853477543934289;
  weights(48) = 0.0053200853477543934289;
  weights(49) = 0.0053200853477543934289;
  weights(50) = 0.0053200853477543934289;
  weights(51) = 0.0012726358126745073752;
  weights(52) = 0.0012726358126745073752;
  weights(53) = 0.0012726358126745073752;
  weights(54) = 0.0012726358126745073752;
  weights(55) = 0.0012726358126745073752;
  weights(56) = 0.0012726358126745073752;
  weights(57) = 0.0089569104461380295162;
  weights(58) = 0.0089569104461380295162;
  weights(59) = 0.0089569104461380295162;
  weights(60) = 0.0089569104461380295162;
  weights(61) = 0.0089569104461380295162;
  weights(62) = 0.0089569104461380295162;
  weights(63) = 0.0079556550687292105356;
  weights(64) = 0.0079556550687292105356;
  weights(65) = 0.0079556550687292105356;
  weights(66) = 0.0016318698410246214574;
  weights(67) = 0.0016318698410246214574;
  weights(68) = 0.0016318698410246214574;
  weights(69) = 0.0016318698410246214574;
  weights(70) = 0.0016318698410246214574;
  weights(71) = 0.0016318698410246214574;
  weights(72) = 0.0027273191839872141032;
  weights(73) = 0.0027273191839872141032;
  weights(74) = 0.0027273191839872141032;
  weights(75) = 0.0027273191839872141032;
  weights(76) = 0.0027273191839872141032;
  weights(77) = 0.0027273191839872141032;
  weights(78) = 0.0026362809607147100026;
  weights(79) = 0.0026362809607147100026;
  weights(80) = 0.0026362809607147100026;
  weights(81) = 0.0026362809607147100026;
  weights(82) = 0.0026362809607147100026;
  weights(83) = 0.0026362809607147100026;
  weights(84) = 0.0068700412960112765964;
  weights(85) = 0.0068700412960112765964;
  weights(86) = 0.0068700412960112765964;
  weights(87) = 0.0068700412960112765964;
  weights(88) = 0.0068700412960112765964;
  weights(89) = 0.0068700412960112765964;
  weights(90) = 0.0068271375937640080625;
  weights(91) = 0.0068271375937640080625;
  weights(92) = 0.0068271375937640080625;
  weights(93) = 0.0036571704539664238662;
  weights(94) = 0.0036571704539664238662;
  weights(95) = 0.0036571704539664238662;
  weights(96) = 0.0036571704539664238662;
  weights(97) = 0.0036571704539664238662;
  weights(98) = 0.0036571704539664238662;
  weights(99) = 0.0045914106299100188729;
  weights(100) = 0.0045914106299100188729;
  weights(101) = 0.0045914106299100188729;
  weights(102) = 0.00084649181706366617966;
  weights(103) = 0.00084649181706366617966;
  weights(104) = 0.00084649181706366617966;
  weights(105) = 0.00084649181706366617966;
  weights(106) = 0.00084649181706366617966;
  weights(107) = 0.00084649181706366617966;
  weights(108) = 0.00040325514416230843432;
  weights(109) = 0.00040325514416230843432;
  weights(110) = 0.00040325514416230843432;
  weights(111) = 0.0042220429732605386369;
  weights(112) = 0.0042220429732605386369;
  weights(113) = 0.0042220429732605386369;
  weights(114) = 0.00075585103922944020961;
  weights(115) = 0.00075585103922944020961;
  weights(116) = 0.00075585103922944020961;
  weights(117) = 0.00075585103922944020961;
  weights(118) = 0.00075585103922944020961;
  weights(119) = 0.00075585103922944020961;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 25);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 26>() { // NOLINT
  Eigen::MatrixXd points(2, 130);
  Eigen::VectorXd weights(130);

  points(0, 0) = 0.080071654940316538962;
  points(1, 0) = 0.0047946609754366785461;
  points(0, 1) = 0.91513368408424677902;
  points(1, 1) = 0.080071654940316511206;
  points(0, 2) = 0.004794660975436848549;
  points(1, 2) = 0.91513368408424689004;
  points(0, 3) = 0.91513368408424677902;
  points(1, 3) = 0.0047946609754366785461;
  points(0, 4) = 0.080071654940316594473;
  points(1, 4) = 0.91513368408424689004;
  points(0, 5) = 0.0047946609754364669098;
  points(1, 5) = 0.080071654940316858151;
  points(0, 6) = 0.0316436115715307692;
  points(1, 6) = 0.029155196206835844869;
  points(0, 7) = 0.93920119222163345185;
  points(1, 7) = 0.031643611571530727566;
  points(0, 8) = 0.029155196206835987116;
  points(1, 8) = 0.93920119222163356287;
  points(0, 9) = 0.93920119222163334083;
  points(1, 9) = 0.029155196206835844869;
  points(0, 10) = 0.031643611571530783078;
  points(1, 10) = 0.93920119222163356287;
  points(0, 11) = 0.029155196206835629763;
  points(1, 11) = 0.031643611571531109206;
  points(0, 12) = 0.066737122576466065271;
  points(1, 12) = 0.06673712257646638446;
  points(0, 13) = 0.86652575484706750863;
  points(1, 13) = 0.066737122576466037516;
  points(0, 14) = 0.066737122576466467727;
  points(1, 14) = 0.86652575484706773068;
  points(0, 15) = 0.075380047515398659885;
  points(1, 15) = 0.026209364022498661539;
  points(0, 16) = 0.89841058846210264388;
  points(1, 16) = 0.07538004751539863213;
  points(0, 17) = 0.026209364022498737867;
  points(1, 17) = 0.89841058846210286593;
  points(0, 18) = 0.89841058846210264388;
  points(1, 18) = 0.026209364022498661539;
  points(0, 19) = 0.075380047515398618252;
  points(1, 19) = 0.89841058846210297695;
  points(0, 20) = 0.0262093640224984048;
  points(1, 20) = 0.075380047515398951319;
  points(0, 21) = 0.033100034336032271853;
  points(1, 21) = 0.0056981179168752180489;
  points(0, 22) = 0.96120184774709249709;
  points(1, 22) = 0.033100034336032251037;
  points(0, 23) = 0.0056981179168753559594;
  points(1, 23) = 0.96120184774709271913;
  points(0, 24) = 0.96120184774709249709;
  points(1, 24) = 0.0056981179168752180489;
  points(0, 25) = 0.033100034336032368998;
  points(1, 25) = 0.96120184774709271913;
  points(0, 26) = 0.0056981179168748667674;
  points(1, 26) = 0.033100034336032570226;
  points(0, 27) = 0.0063401164920766830274;
  points(1, 27) = 0.0063401164920769579811;
  points(0, 28) = 0.98731976701584633904;
  points(1, 28) = 0.0063401164920766370572;
  points(0, 29) = 0.0063401164920770525235;
  points(1, 29) = 0.98731976701584656109;
  points(0, 30) = 0.13248618961456729015;
  points(1, 30) = 0.041724722742120946839;
  points(0, 31) = 0.82578908764331171444;
  points(1, 31) = 0.13248618961456731791;
  points(0, 32) = 0.041724722742121023167;
  points(1, 32) = 0.82578908764331182546;
  points(0, 33) = 0.82578908764331171444;
  points(1, 33) = 0.041724722742120946839;
  points(0, 34) = 0.13248618961456737342;
  points(1, 34) = 0.82578908764331182546;
  points(0, 35) = 0.041724722742120731733;
  points(1, 35) = 0.13248618961456762322;
  points(0, 36) = 0.10868713291440210145;
  points(1, 36) = 0.10004565910652755967;
  points(0, 37) = 0.79126720797907024174;
  points(1, 37) = 0.1086871329144021292;
  points(0, 38) = 0.10004565910652762906;
  points(1, 38) = 0.79126720797907046379;
  points(0, 39) = 0.79126720797907035276;
  points(1, 39) = 0.10004565910652755967;
  points(0, 40) = 0.10868713291440218471;
  points(1, 40) = 0.79126720797907046379;
  points(0, 41) = 0.10004565910652732375;
  points(1, 41) = 0.10868713291440242064;
  points(0, 42) = 0.49375303289638478033;
  points(1, 42) = 0.012493934207230487921;
  points(0, 43) = 0.49375303289638472481;
  points(1, 43) = 0.49375303289638483584;
  points(0, 44) = 0.012493934207230439348;
  points(1, 44) = 0.49375303289638494686;
  points(0, 45) = 0.25027231329052646025;
  points(1, 45) = 0.12061440220524903555;
  points(0, 46) = 0.62911328450422454583;
  points(1, 46) = 0.25027231329052646025;
  points(0, 47) = 0.12061440220524899392;
  points(1, 47) = 0.62911328450422465686;
  points(0, 48) = 0.62911328450422454583;
  points(1, 48) = 0.12061440220524903555;
  points(0, 49) = 0.25027231329052651576;
  points(1, 49) = 0.62911328450422454583;
  points(0, 50) = 0.12061440220524888289;
  points(1, 50) = 0.25027231329052668229;
  points(0, 51) = 0.3890220620427617404;
  points(1, 51) = 0.029537942516907837037;
  points(0, 52) = 0.58143999544033042604;
  points(1, 52) = 0.38902206204276179591;
  points(0, 53) = 0.029537942516907833568;
  points(1, 53) = 0.58143999544033053706;
  points(0, 54) = 0.58143999544033042604;
  points(1, 54) = 0.029537942516907837037;
  points(0, 55) = 0.38902206204276179591;
  points(1, 55) = 0.58143999544033042604;
  points(0, 56) = 0.02953794251690769479;
  points(1, 56) = 0.38902206204276207346;
  points(0, 57) = 0.35850929642766155014;
  points(1, 57) = 0.087378465163844523667;
  points(0, 58) = 0.55411223840849399558;
  points(1, 58) = 0.35850929642766160566;
  points(0, 59) = 0.087378465163844454278;
  points(1, 59) = 0.55411223840849421762;
  points(0, 60) = 0.55411223840849399558;
  points(1, 60) = 0.087378465163844523667;
  points(0, 61) = 0.35850929642766155014;
  points(1, 61) = 0.5541122384084941066;
  points(0, 62) = 0.087378465163844371011;
  points(1, 62) = 0.35850929642766177219;
  points(0, 63) = 0.38878749710759397118;
  points(1, 63) = 0.22242500578481200213;
  points(0, 64) = 0.38878749710759402669;
  points(1, 64) = 0.3887874971075940822;
  points(0, 65) = 0.22242500578481191886;
  points(1, 65) = 0.38878749710759413771;
  points(0, 66) = 0.18686917947622155856;
  points(1, 66) = 0.076311901512959412486;
  points(0, 67) = 0.73681891901081897345;
  points(1, 67) = 0.18686917947622155856;
  points(0, 68) = 0.076311901512959523508;
  points(1, 68) = 0.73681891901081919549;
  points(0, 69) = 0.73681891901081897345;
  points(1, 69) = 0.076311901512959412486;
  points(0, 70) = 0.18686917947622161407;
  points(1, 70) = 0.73681891901081919549;
  points(0, 71) = 0.076311901512959176563;
  points(1, 71) = 0.18686917947622186387;
  points(0, 72) = 0.27314710092907867889;
  points(1, 72) = 0.27314710092907884542;
  points(0, 73) = 0.45370579814184247569;
  points(1, 73) = 0.27314710092907878991;
  points(0, 74) = 0.27314710092907878991;
  points(1, 74) = 0.45370579814184264222;
  points(0, 75) = 0.41470590959030628753;
  points(1, 75) = 0.0020575309653708658345;
  points(0, 76) = 0.58323655944432295506;
  points(1, 76) = 0.41470590959030628753;
  points(0, 77) = 0.0020575309653708129254;
  points(1, 77) = 0.58323655944432306608;
  points(0, 78) = 0.58323655944432295506;
  points(1, 78) = 0.0020575309653708658345;
  points(0, 79) = 0.41470590959030628753;
  points(1, 79) = 0.58323655944432295506;
  points(0, 80) = 0.0020575309653707296587;
  points(1, 80) = 0.41470590959030656508;
  points(0, 81) = 0.31941530538343870793;
  points(1, 81) = 0.17047872849724896027;
  points(0, 82) = 0.51010596611931235955;
  points(1, 82) = 0.31941530538343876344;
  points(0, 83) = 0.17047872849724887701;
  points(1, 83) = 0.5101059661193125816;
  points(0, 84) = 0.51010596611931235955;
  points(1, 84) = 0.17047872849724896027;
  points(0, 85) = 0.31941530538343870793;
  points(1, 85) = 0.51010596611931247057;
  points(0, 86) = 0.17047872849724882149;
  points(1, 86) = 0.31941530538343887446;
  points(0, 87) = 0.14373762619976401811;
  points(1, 87) = 0.0079996080914843028381;
  points(0, 88) = 0.84826276570875169813;
  points(1, 88) = 0.14373762619976401811;
  points(0, 89) = 0.0079996080914843670229;
  points(1, 89) = 0.84826276570875180916;
  points(0, 90) = 0.84826276570875169813;
  points(1, 90) = 0.0079996080914843028381;
  points(0, 91) = 0.14373762619976415689;
  points(1, 91) = 0.84826276570875180916;
  points(0, 92) = 0.007999608091484033956;
  points(1, 92) = 0.14373762619976437893;
  points(0, 93) = 0.47182856332116601683;
  points(1, 93) = 0.056342873357667994094;
  points(0, 94) = 0.47182856332116607234;
  points(1, 94) = 0.47182856332116607234;
  points(0, 95) = 0.056342873357667883072;
  points(1, 95) = 0.47182856332116623888;
  points(0, 96) = 0.15420143036454417307;
  points(1, 96) = 0.15420143036454442287;
  points(0, 97) = 0.69159713927091137631;
  points(1, 97) = 0.15420143036454422858;
  points(0, 98) = 0.15420143036454442287;
  points(1, 98) = 0.69159713927091159835;
  points(0, 99) = 0.28378813885947040685;
  points(1, 99) = 0.051165873685137787386;
  points(0, 100) = 0.66504598745539178495;
  points(1, 100) = 0.28378813885947046236;
  points(0, 101) = 0.051165873685137752691;
  points(1, 101) = 0.66504598745539200699;
  points(0, 102) = 0.66504598745539178495;
  points(1, 102) = 0.051165873685137787386;
  points(0, 103) = 0.28378813885947046236;
  points(1, 103) = 0.66504598745539189597;
  points(0, 104) = 0.051165873685137641669;
  points(1, 104) = 0.28378813885947073992;
  points(0, 105) = 0.21204316330220551734;
  points(1, 105) = 0.21204316330220573938;
  points(0, 106) = 0.57591367339558874328;
  points(1, 106) = 0.21204316330220560061;
  points(0, 107) = 0.21204316330220568387;
  points(1, 107) = 0.5759136733955888543;
  points(0, 108) = 0.43598541938438317711;
  points(1, 108) = 0.12802916123123364578;
  points(0, 109) = 0.43598541938438317711;
  points(1, 109) = 0.43598541938438323262;
  points(0, 110) = 0.12802916123123353476;
  points(1, 110) = 0.43598541938438339916;
  points(0, 111) = 0.21654666647347711739;
  points(1, 111) = 0.022784599250895671424;
  points(0, 112) = 0.76066873427562720078;
  points(1, 112) = 0.21654666647347711739;
  points(0, 113) = 0.022784599250895654077;
  points(1, 113) = 0.76066873427562753385;
  points(0, 114) = 0.76066873427562720078;
  points(1, 114) = 0.022784599250895671424;
  points(0, 115) = 0.21654666647347720065;
  points(1, 115) = 0.7606687342756273118;
  points(0, 116) = 0.022784599250895501421;
  points(1, 116) = 0.21654666647347739494;
  points(0, 117) = 0.33333333333333325932;
  points(1, 117) = 0.33333333333333342585;
  points(0, 118) = 0.3128985030748799856;
  points(1, 118) = 0.0094732979122135619471;
  points(0, 119) = 0.67762819901290649582;
  points(1, 119) = 0.3128985030748799856;
  points(0, 120) = 0.0094732979122135740901;
  points(1, 120) = 0.67762819901290660685;
  points(0, 121) = 0.6776281990129063848;
  points(1, 121) = 0.0094732979122135619471;
  points(0, 122) = 0.31289850307488004111;
  points(1, 122) = 0.67762819901290660685;
  points(0, 123) = 0.0094732979122133798011;
  points(1, 123) = 0.31289850307488026315;
  points(0, 124) = 0.22643479740771751962;
  points(1, 124) = 0.00046400773217565279352;
  points(0, 125) = 0.77310119486010686618;
  points(1, 125) = 0.22643479740771751962;
  points(0, 126) = 0.00046400773217569746265;
  points(1, 126) = 0.7731011948601069772;
  points(0, 127) = 0.77310119486010686618;
  points(1, 127) = 0.00046400773217565279352;
  points(0, 128) = 0.22643479740771754738;
  points(1, 128) = 0.7731011948601069772;
  points(0, 129) = 0.00046400773217551705141;
  points(1, 129) = 0.22643479740771779718;

  weights(0) = 0.00069926322408013638025;
  weights(1) = 0.00069926322408013638025;
  weights(2) = 0.00069926322408013638025;
  weights(3) = 0.00069926322408013638025;
  weights(4) = 0.00069926322408013638025;
  weights(5) = 0.00069926322408013638025;
  weights(6) = 0.00060278238685844301534;
  weights(7) = 0.00060278238685844301534;
  weights(8) = 0.00060278238685844301534;
  weights(9) = 0.00060278238685844301534;
  weights(10) = 0.00060278238685844301534;
  weights(11) = 0.00060278238685844301534;
  weights(12) = 0.002456912651483010232;
  weights(13) = 0.002456912651483010232;
  weights(14) = 0.002456912651483010232;
  weights(15) = 0.001652772356483835775;
  weights(16) = 0.001652772356483835775;
  weights(17) = 0.001652772356483835775;
  weights(18) = 0.001652772356483835775;
  weights(19) = 0.001652772356483835775;
  weights(20) = 0.001652772356483835775;
  weights(21) = 0.00054285367149837766929;
  weights(22) = 0.00054285367149837766929;
  weights(23) = 0.00054285367149837766929;
  weights(24) = 0.00054285367149837766929;
  weights(25) = 0.00054285367149837766929;
  weights(26) = 0.00054285367149837766929;
  weights(27) = 0.00026347655834093604938;
  weights(28) = 0.00026347655834093604938;
  weights(29) = 0.00026347655834093604938;
  weights(30) = 0.003201798949856410597;
  weights(31) = 0.003201798949856410597;
  weights(32) = 0.003201798949856410597;
  weights(33) = 0.003201798949856410597;
  weights(34) = 0.003201798949856410597;
  weights(35) = 0.003201798949856410597;
  weights(36) = 0.002307105538189160171;
  weights(37) = 0.002307105538189160171;
  weights(38) = 0.002307105538189160171;
  weights(39) = 0.002307105538189160171;
  weights(40) = 0.002307105538189160171;
  weights(41) = 0.002307105538189160171;
  weights(42) = 0.0026510795909336745853;
  weights(43) = 0.0026510795909336745853;
  weights(44) = 0.0026510795909336745853;
  weights(45) = 0.0071897366137993736976;
  weights(46) = 0.0071897366137993736976;
  weights(47) = 0.0071897366137993736976;
  weights(48) = 0.0071897366137993736976;
  weights(49) = 0.0071897366137993736976;
  weights(50) = 0.0071897366137993736976;
  weights(51) = 0.004129883608543421375;
  weights(52) = 0.004129883608543421375;
  weights(53) = 0.004129883608543421375;
  weights(54) = 0.004129883608543421375;
  weights(55) = 0.004129883608543421375;
  weights(56) = 0.004129883608543421375;
  weights(57) = 0.0068639791080428542644;
  weights(58) = 0.0068639791080428542644;
  weights(59) = 0.0068639791080428542644;
  weights(60) = 0.0068639791080428542644;
  weights(61) = 0.0068639791080428542644;
  weights(62) = 0.0068639791080428542644;
  weights(63) = 0.0097340339185914438042;
  weights(64) = 0.0097340339185914438042;
  weights(65) = 0.0097340339185914438042;
  weights(66) = 0.005198822764087164712;
  weights(67) = 0.005198822764087164712;
  weights(68) = 0.005198822764087164712;
  weights(69) = 0.005198822764087164712;
  weights(70) = 0.005198822764087164712;
  weights(71) = 0.005198822764087164712;
  weights(72) = 0.0097678234616237757937;
  weights(73) = 0.0097678234616237757937;
  weights(74) = 0.0097678234616237757937;
  weights(75) = 0.00092857373549904244966;
  weights(76) = 0.00092857373549904244966;
  weights(77) = 0.00092857373549904244966;
  weights(78) = 0.00092857373549904244966;
  weights(79) = 0.00092857373549904244966;
  weights(80) = 0.00092857373549904244966;
  weights(81) = 0.0087995835903476090495;
  weights(82) = 0.0087995835903476090495;
  weights(83) = 0.0087995835903476090495;
  weights(84) = 0.0087995835903476090495;
  weights(85) = 0.0087995835903476090495;
  weights(86) = 0.0087995835903476090495;
  weights(87) = 0.0014833808313282534873;
  weights(88) = 0.0014833808313282534873;
  weights(89) = 0.0014833808313282534873;
  weights(90) = 0.0014833808313282534873;
  weights(91) = 0.0014833808313282534873;
  weights(92) = 0.0014833808313282534873;
  weights(93) = 0.005764251817328449462;
  weights(94) = 0.005764251817328449462;
  weights(95) = 0.005764251817328449462;
  weights(96) = 0.0066276297242726378567;
  weights(97) = 0.0066276297242726378567;
  weights(98) = 0.0066276297242726378567;
  weights(99) = 0.0050535622160443448986;
  weights(100) = 0.0050535622160443448986;
  weights(101) = 0.0050535622160443448986;
  weights(102) = 0.0050535622160443448986;
  weights(103) = 0.0050535622160443448986;
  weights(104) = 0.0050535622160443448986;
  weights(105) = 0.0084721725392640501173;
  weights(106) = 0.0084721725392640501173;
  weights(107) = 0.0084721725392640501173;
  weights(108) = 0.0082062003012939553626;
  weights(109) = 0.0082062003012939553626;
  weights(110) = 0.0082062003012939553626;
  weights(111) = 0.0031346689230402858747;
  weights(112) = 0.0031346689230402858747;
  weights(113) = 0.0031346689230402858747;
  weights(114) = 0.0031346689230402858747;
  weights(115) = 0.0031346689230402858747;
  weights(116) = 0.0031346689230402858747;
  weights(117) = 0.010243331294611626378;
  weights(118) = 0.0022957791936993200005;
  weights(119) = 0.0022957791936993200005;
  weights(120) = 0.0022957791936993200005;
  weights(121) = 0.0022957791936993200005;
  weights(122) = 0.0022957791936993200005;
  weights(123) = 0.0022957791936993200005;
  weights(124) = 0.00056977445793410697213;
  weights(125) = 0.00056977445793410697213;
  weights(126) = 0.00056977445793410697213;
  weights(127) = 0.00056977445793410697213;
  weights(128) = 0.00056977445793410697213;
  weights(129) = 0.00056977445793410697213;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 26);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 27>() { // NOLINT
  Eigen::MatrixXd points(2, 141);
  Eigen::VectorXd weights(141);

  points(0, 0) = 0.38071402118118713442;
  points(1, 0) = 0.23857195763762567564;
  points(0, 1) = 0.38071402118118713442;
  points(1, 1) = 0.38071402118118724545;
  points(0, 2) = 0.23857195763762559237;
  points(1, 2) = 0.38071402118118730096;
  points(0, 3) = 0.44666780370386455212;
  points(1, 3) = 0.10666439259227085412;
  points(0, 4) = 0.44666780370386460763;
  points(1, 4) = 0.44666780370386466315;
  points(0, 5) = 0.10666439259227075698;
  points(1, 5) = 0.44666780370386477417;
  points(0, 6) = 0.4161413788054121321;
  points(1, 6) = 0.16771724238917573579;
  points(0, 7) = 0.4161413788054121321;
  points(1, 7) = 0.41614137880541224312;
  points(0, 8) = 0.16771724238917562477;
  points(1, 8) = 0.41614137880541235415;
  points(0, 9) = 0.080304647788438265898;
  points(1, 9) = 0.080304647788438585088;
  points(0, 10) = 0.83939070442312302411;
  points(1, 10) = 0.080304647788438293654;
  points(0, 11) = 0.080304647788438765499;
  points(1, 11) = 0.83939070442312313514;
  points(0, 12) = 0.28704219659349661242;
  points(1, 12) = 0.030730604727272865101;
  points(0, 13) = 0.68222719867923053982;
  points(1, 13) = 0.28704219659349661242;
  points(0, 14) = 0.030730604727272958776;
  points(1, 14) = 0.68222719867923065085;
  points(0, 15) = 0.68222719867923053982;
  points(1, 15) = 0.030730604727272865101;
  points(0, 16) = 0.28704219659349655691;
  points(1, 16) = 0.68222719867923065085;
  points(0, 17) = 0.030730604727272736731;
  points(1, 17) = 0.28704219659349683447;
  points(0, 18) = 0.3450878417155683886;
  points(1, 18) = 0.12915264006344973069;
  points(0, 19) = 0.52575951822098188071;
  points(1, 19) = 0.34508784171556844411;
  points(0, 20) = 0.12915264006344973069;
  points(1, 20) = 0.52575951822098199173;
  points(0, 21) = 0.52575951822098188071;
  points(1, 21) = 0.12915264006344973069;
  points(0, 22) = 0.3450878417155683886;
  points(1, 22) = 0.52575951822098199173;
  points(0, 23) = 0.12915264006344956416;
  points(1, 23) = 0.34508784171556861065;
  points(0, 24) = 0.23340040666987099671;
  points(1, 24) = 0.23340040666987124651;
  points(0, 25) = 0.53319918666025767351;
  points(1, 25) = 0.23340040666987110773;
  points(0, 26) = 0.23340040666987116325;
  points(1, 26) = 0.53319918666025789555;
  points(0, 27) = 0.37593015704866178384;
  points(1, 27) = 0.02803348609525001256;
  points(0, 28) = 0.59603635685608824524;
  points(1, 28) = 0.37593015704866183935;
  points(0, 29) = 0.028033486095249970926;
  points(1, 29) = 0.59603635685608846728;
  points(0, 30) = 0.59603635685608824524;
  points(1, 30) = 0.02803348609525001256;
  points(0, 31) = 0.37593015704866183935;
  points(1, 31) = 0.59603635685608824524;
  points(0, 32) = 0.028033486095249915415;
  points(1, 32) = 0.37593015704866206139;
  points(0, 33) = 0.30116546516650910537;
  points(1, 33) = 0.3011654651665092719;
  points(0, 34) = 0.39766906966698167825;
  points(1, 34) = 0.30116546516650921639;
  points(0, 35) = 0.30116546516650910537;
  points(1, 35) = 0.39766906966698178927;
  points(0, 36) = 0.17477996635489997934;
  points(1, 36) = 0.17477996635490017363;
  points(0, 37) = 0.65044006729019976376;
  points(1, 37) = 0.1747799663549000071;
  points(0, 38) = 0.17477996635490022914;
  points(1, 38) = 0.65044006729019998581;
  points(0, 39) = 0.31694558893313196091;
  points(1, 39) = 0.20913092113766876268;
  points(0, 40) = 0.47392348992919930417;
  points(1, 40) = 0.31694558893313201642;
  points(0, 41) = 0.20913092113766865165;
  points(1, 41) = 0.4739234899291994707;
  points(0, 42) = 0.47392348992919924866;
  points(1, 42) = 0.20913092113766876268;
  points(0, 43) = 0.31694558893313196091;
  points(1, 43) = 0.4739234899291994707;
  points(0, 44) = 0.20913092113766856839;
  points(1, 44) = 0.31694558893313218295;
  points(0, 45) = 0.4072283930427198495;
  points(1, 45) = 0.066038912849738673483;
  points(0, 46) = 0.5267326941075414215;
  points(1, 46) = 0.40722839304271996053;
  points(0, 47) = 0.066038912849738617972;
  points(1, 47) = 0.52673269410754164355;
  points(0, 48) = 0.5267326941075414215;
  points(1, 48) = 0.066038912849738673483;
  points(0, 49) = 0.40722839304271990502;
  points(1, 49) = 0.52673269410754153252;
  points(0, 50) = 0.066038912849738617972;
  points(1, 50) = 0.40722839304272007155;
  points(0, 51) = 0.2135535984578239288;
  points(1, 51) = 0.041030576819181839576;
  points(0, 52) = 0.74541582472299428019;
  points(1, 52) = 0.21355359845782395656;
  points(0, 53) = 0.04103057681918181876;
  points(1, 53) = 0.74541582472299450224;
  points(0, 54) = 0.74541582472299428019;
  points(1, 54) = 0.041030576819181839576;
  points(0, 55) = 0.21355359845782395656;
  points(1, 55) = 0.74541582472299450224;
  points(0, 56) = 0.041030576819181638348;
  points(1, 56) = 0.21355359845782420636;
  points(0, 57) = 0.32885287806889262896;
  points(1, 57) = 0.0052996403717990364299;
  points(0, 58) = 0.66584748155930828517;
  points(1, 58) = 0.32885287806889273998;
  points(0, 59) = 0.0052996403717990858695;
  points(1, 59) = 0.66584748155930850722;
  points(0, 60) = 0.66584748155930828517;
  points(1, 60) = 0.0052996403717990364299;
  points(0, 61) = 0.32885287806889273998;
  points(1, 61) = 0.66584748155930828517;
  points(0, 62) = 0.0052996403717988915805;
  points(1, 62) = 0.32885287806889301754;
  points(0, 63) = 0.48556505418516276995;
  points(1, 63) = 0.028869891629674470507;
  points(0, 64) = 0.48556505418516282546;
  points(1, 64) = 0.48556505418516282546;
  points(0, 65) = 0.028869891629674376832;
  points(1, 65) = 0.485565054185162992;
  points(0, 66) = 0.13929530614214871709;
  points(1, 66) = 0.063073995414950900784;
  points(0, 67) = 0.79763069844290035437;
  points(1, 67) = 0.13929530614214874484;
  points(0, 68) = 0.063073995414951067318;
  points(1, 68) = 0.79763069844290035437;
  points(0, 69) = 0.79763069844290035437;
  points(1, 69) = 0.063073995414950900784;
  points(0, 70) = 0.13929530614214885587;
  points(1, 70) = 0.79763069844290035437;
  points(0, 71) = 0.063073995414950734251;
  points(1, 71) = 0.1392953061421490224;
  points(0, 72) = 0.032571520180181487425;
  points(1, 72) = 0.032571520180181758042;
  points(0, 73) = 0.93485695963963666433;
  points(1, 73) = 0.032571520180181438853;
  points(0, 74) = 0.032571520180181945392;
  points(1, 74) = 0.93485695963963699739;
  points(0, 75) = 0.25524625469697803659;
  points(1, 75) = 0.14896285093824015999;
  points(0, 76) = 0.59579089436478183117;
  points(1, 76) = 0.25524625469697803659;
  points(0, 77) = 0.14896285093824018775;
  points(1, 77) = 0.59579089436478194219;
  points(0, 78) = 0.59579089436478183117;
  points(1, 78) = 0.14896285093824015999;
  points(0, 79) = 0.25524625469697798108;
  points(1, 79) = 0.59579089436478194219;
  points(0, 80) = 0.14896285093824002121;
  points(1, 80) = 0.25524625469697825864;
  points(0, 81) = 0.20837601560037405379;
  points(1, 81) = 0.094697082433130713719;
  points(0, 82) = 0.69692690196649520473;
  points(1, 82) = 0.2083760156003741093;
  points(0, 83) = 0.094697082433130685963;
  points(1, 83) = 0.69692690196649542678;
  points(0, 84) = 0.69692690196649520473;
  points(1, 84) = 0.094697082433130713719;
  points(0, 85) = 0.2083760156003741093;
  points(1, 85) = 0.69692690196649542678;
  points(0, 86) = 0.094697082433130505552;
  points(1, 86) = 0.2083760156003743591;
  points(0, 87) = 0.44001055194621546685;
  points(1, 87) = 0.005580717015260117618;
  points(0, 88) = 0.55440873103852450487;
  points(1, 88) = 0.44001055194621546685;
  points(0, 89) = 0.0055807170152600282798;
  points(1, 89) = 0.55440873103852472692;
  points(0, 90) = 0.55440873103852439385;
  points(1, 90) = 0.005580717015260117618;
  points(0, 91) = 0.44001055194621546685;
  points(1, 91) = 0.55440873103852450487;
  points(0, 92) = 0.0055807170152600005242;
  points(1, 92) = 0.44001055194621568889;
  points(0, 93) = 0.12757090190467745838;
  points(1, 93) = 0.12757090190467770818;
  points(0, 94) = 0.74485819619064486119;
  points(1, 94) = 0.12757090190467745838;
  points(0, 95) = 0.12757090190467779145;
  points(1, 95) = 0.74485819619064486119;
  points(0, 96) = 0.30222094122782111603;
  points(1, 96) = 0.07507690243319624368;
  points(0, 97) = 0.62270215633898262642;
  points(1, 97) = 0.30222094122782117154;
  points(0, 98) = 0.075076902433196257558;
  points(1, 98) = 0.62270215633898284846;
  points(0, 99) = 0.62270215633898262642;
  points(1, 99) = 0.07507690243319624368;
  points(0, 100) = 0.30222094122782111603;
  points(1, 100) = 0.62270215633898284846;
  points(0, 101) = 0.07507690243319611878;
  points(1, 101) = 0.30222094122782133807;
  points(0, 102) = 0.081946802583533678854;
  points(1, 102) = 0.0069825293244590181524;
  points(0, 103) = 0.91107066809200731861;
  points(1, 103) = 0.081946802583533651099;
  points(0, 104) = 0.0069825293244591413178;
  points(1, 104) = 0.91107066809200742963;
  points(0, 105) = 0.91107066809200731861;
  points(1, 105) = 0.0069825293244590181524;
  points(0, 106) = 0.081946802583533762121;
  points(1, 106) = 0.91107066809200742963;
  points(0, 107) = 0.0069825293244587596786;
  points(1, 107) = 0.081946802583534025799;
  points(0, 108) = 0.034364969912141989095;
  points(1, 108) = 0.0060935694037648341359;
  points(0, 109) = 0.95954146068409307269;
  points(1, 109) = 0.034364969912141982156;
  points(0, 110) = 0.0060935694037650423027;
  points(1, 110) = 0.95954146068409318371;
  points(0, 111) = 0.95954146068409307269;
  points(1, 111) = 0.0060935694037648341359;
  points(0, 112) = 0.034364969912142051545;
  points(1, 112) = 0.95954146068409340575;
  points(0, 113) = 0.0060935694037645565801;
  points(1, 113) = 0.034364969912142301345;
  points(0, 114) = 0.080112073847101117341;
  points(1, 114) = 0.035034422527697395289;
  points(0, 115) = 0.88485350362520143186;
  points(1, 115) = 0.080112073847101075708;
  points(0, 116) = 0.035034422527697506311;
  points(1, 116) = 0.8848535036252016539;
  points(0, 117) = 0.88485350362520143186;
  points(1, 117) = 0.035034422527697395289;
  points(0, 118) = 0.080112073847101172852;
  points(1, 118) = 0.8848535036252016539;
  points(0, 119) = 0.035034422527697159366;
  points(1, 119) = 0.080112073847101422652;
  points(0, 120) = 0.0066392191809585988233;
  points(1, 120) = 0.0066392191809589136756;
  points(0, 121) = 0.986721561638082445;
  points(1, 121) = 0.0066392191809585936191;
  points(0, 122) = 0.0066392191809589995444;
  points(1, 122) = 0.98672156163808266705;
  points(0, 123) = 0.14721343189892246994;
  points(1, 123) = 0.019352001318038974248;
  points(0, 124) = 0.83343456678303851071;
  points(1, 124) = 0.14721343189892246994;
  points(0, 125) = 0.019352001318038991595;
  points(1, 125) = 0.83343456678303884377;
  points(0, 126) = 0.83343456678303851071;
  points(1, 126) = 0.019352001318038974248;
  points(0, 127) = 0.1472134318989224977;
  points(1, 127) = 0.83343456678303884377;
  points(0, 128) = 0.019352001318038783428;
  points(1, 128) = 0.1472134318989227475;
  points(0, 129) = 0.22971965325784321488;
  points(1, 129) = 0.0073324725490404576642;
  points(0, 130) = 0.7629478741931163821;
  points(1, 130) = 0.22971965325784324263;
  points(0, 131) = 0.0073324725490405140427;
  points(1, 131) = 0.76294787419311649312;
  points(0, 132) = 0.76294787419311627108;
  points(1, 132) = 0.0073324725490404576642;
  points(0, 133) = 0.22971965325784327039;
  points(1, 133) = 0.7629478741931163821;
  points(0, 134) = 0.0073324725490402781203;
  points(1, 134) = 0.22971965325784352019;
  points(0, 135) = 0.14765552111986979256;
  points(1, 135) = 0.00049032844346297451126;
  points(0, 136) = 0.85185415043666723456;
  points(1, 136) = 0.14765552111986979256;
  points(0, 137) = 0.00049032844346302839611;
  points(1, 137) = 0.85185415043666734558;
  points(0, 138) = 0.85185415043666723456;
  points(1, 138) = 0.00049032844346297451126;
  points(0, 139) = 0.14765552111986984807;
  points(1, 139) = 0.85185415043666734558;
  points(0, 140) = 0.00049032844346273696257;
  points(1, 140) = 0.14765552111987015338;

  weights(0) = 0.004780042483729953634;
  weights(1) = 0.004780042483729953634;
  weights(2) = 0.004780042483729953634;
  weights(3) = 0.0047050799047271057649;
  weights(4) = 0.0047050799047271057649;
  weights(5) = 0.0047050799047271057649;
  weights(6) = 0.0060251135120752072338;
  weights(7) = 0.0060251135120752072338;
  weights(8) = 0.0060251135120752072338;
  weights(9) = 0.0026063109364009343603;
  weights(10) = 0.0026063109364009343603;
  weights(11) = 0.0026063109364009343603;
  weights(12) = 0.0027658974168833618326;
  weights(13) = 0.0027658974168833618326;
  weights(14) = 0.0027658974168833618326;
  weights(15) = 0.0027658974168833618326;
  weights(16) = 0.0027658974168833618326;
  weights(17) = 0.0027658974168833618326;
  weights(18) = 0.0062787181020182592645;
  weights(19) = 0.0062787181020182592645;
  weights(20) = 0.0062787181020182592645;
  weights(21) = 0.0062787181020182592645;
  weights(22) = 0.0062787181020182592645;
  weights(23) = 0.0062787181020182592645;
  weights(24) = 0.0067356576990246774805;
  weights(25) = 0.0067356576990246774805;
  weights(26) = 0.0067356576990246774805;
  weights(27) = 0.0031975763497271965721;
  weights(28) = 0.0031975763497271965721;
  weights(29) = 0.0031975763497271965721;
  weights(30) = 0.0031975763497271965721;
  weights(31) = 0.0031975763497271965721;
  weights(32) = 0.0031975763497271965721;
  weights(33) = 0.0078739828906813167514;
  weights(34) = 0.0078739828906813167514;
  weights(35) = 0.0078739828906813167514;
  weights(36) = 0.0056412212723491814842;
  weights(37) = 0.0056412212723491814842;
  weights(38) = 0.0056412212723491814842;
  weights(39) = 0.0068576966152754095449;
  weights(40) = 0.0068576966152754095449;
  weights(41) = 0.0068576966152754095449;
  weights(42) = 0.0068576966152754095449;
  weights(43) = 0.0068576966152754095449;
  weights(44) = 0.0068576966152754095449;
  weights(45) = 0.0049311350594947768455;
  weights(46) = 0.0049311350594947768455;
  weights(47) = 0.0049311350594947768455;
  weights(48) = 0.0049311350594947768455;
  weights(49) = 0.0049311350594947768455;
  weights(50) = 0.0049311350594947768455;
  weights(51) = 0.0032276864524648403443;
  weights(52) = 0.0032276864524648403443;
  weights(53) = 0.0032276864524648403443;
  weights(54) = 0.0032276864524648403443;
  weights(55) = 0.0032276864524648403443;
  weights(56) = 0.0032276864524648403443;
  weights(57) = 0.0014639131808995490928;
  weights(58) = 0.0014639131808995490928;
  weights(59) = 0.0014639131808995490928;
  weights(60) = 0.0014639131808995490928;
  weights(61) = 0.0014639131808995490928;
  weights(62) = 0.0014639131808995490928;
  weights(63) = 0.0035586187064373157006;
  weights(64) = 0.0035586187064373157006;
  weights(65) = 0.0035586187064373157006;
  weights(66) = 0.0035653176552435067274;
  weights(67) = 0.0035653176552435067274;
  weights(68) = 0.0035653176552435067274;
  weights(69) = 0.0035653176552435067274;
  weights(70) = 0.0035653176552435067274;
  weights(71) = 0.0035653176552435067274;
  weights(72) = 0.0013886697644770883316;
  weights(73) = 0.0013886697644770883316;
  weights(74) = 0.0013886697644770883316;
  weights(75) = 0.0061738315654306721858;
  weights(76) = 0.0061738315654306721858;
  weights(77) = 0.0061738315654306721858;
  weights(78) = 0.0061738315654306721858;
  weights(79) = 0.0061738315654306721858;
  weights(80) = 0.0061738315654306721858;
  weights(81) = 0.0053468502948081234397;
  weights(82) = 0.0053468502948081234397;
  weights(83) = 0.0053468502948081234397;
  weights(84) = 0.0053468502948081234397;
  weights(85) = 0.0053468502948081234397;
  weights(86) = 0.0053468502948081234397;
  weights(87) = 0.001621233798819668101;
  weights(88) = 0.001621233798819668101;
  weights(89) = 0.001621233798819668101;
  weights(90) = 0.001621233798819668101;
  weights(91) = 0.001621233798819668101;
  weights(92) = 0.001621233798819668101;
  weights(93) = 0.0048716224614088581013;
  weights(94) = 0.0048716224614088581013;
  weights(95) = 0.0048716224614088581013;
  weights(96) = 0.005465305546456634446;
  weights(97) = 0.005465305546456634446;
  weights(98) = 0.005465305546456634446;
  weights(99) = 0.005465305546456634446;
  weights(100) = 0.005465305546456634446;
  weights(101) = 0.005465305546456634446;
  weights(102) = 0.0010075615636448496774;
  weights(103) = 0.0010075615636448496774;
  weights(104) = 0.0010075615636448496774;
  weights(105) = 0.0010075615636448496774;
  weights(106) = 0.0010075615636448496774;
  weights(107) = 0.0010075615636448496774;
  weights(108) = 0.00059838680423658055681;
  weights(109) = 0.00059838680423658055681;
  weights(110) = 0.00059838680423658055681;
  weights(111) = 0.00059838680423658055681;
  weights(112) = 0.00059838680423658055681;
  weights(113) = 0.00059838680423658055681;
  weights(114) = 0.0021635790176803533849;
  weights(115) = 0.0021635790176803533849;
  weights(116) = 0.0021635790176803533849;
  weights(117) = 0.0021635790176803533849;
  weights(118) = 0.0021635790176803533849;
  weights(119) = 0.0021635790176803533849;
  weights(120) = 0.00028772120283525077101;
  weights(121) = 0.00028772120283525077101;
  weights(122) = 0.00028772120283525077101;
  weights(123) = 0.0023111935558905514869;
  weights(124) = 0.0023111935558905514869;
  weights(125) = 0.0023111935558905514869;
  weights(126) = 0.0023111935558905514869;
  weights(127) = 0.0023111935558905514869;
  weights(128) = 0.0023111935558905514869;
  weights(129) = 0.001697126869403511179;
  weights(130) = 0.001697126869403511179;
  weights(131) = 0.001697126869403511179;
  weights(132) = 0.001697126869403511179;
  weights(133) = 0.001697126869403511179;
  weights(134) = 0.001697126869403511179;
  weights(135) = 0.00042330306788192467293;
  weights(136) = 0.00042330306788192467293;
  weights(137) = 0.00042330306788192467293;
  weights(138) = 0.00042330306788192467293;
  weights(139) = 0.00042330306788192467293;
  weights(140) = 0.00042330306788192467293;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 27);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 28>() { // NOLINT
  Eigen::MatrixXd points(2, 150);
  Eigen::VectorXd weights(150);

  points(0, 0) = 0.30398292251648406648;
  points(1, 0) = 0.30398292251648423301;
  points(0, 1) = 0.392034154967031645;
  points(1, 1) = 0.30398292251648423301;
  points(0, 2) = 0.30398292251648406648;
  points(1, 2) = 0.39203415496703186705;
  points(0, 3) = 0.04550540055834639136;
  points(1, 3) = 0.021524385369456125461;
  points(0, 4) = 0.9329702140721973791;
  points(1, 4) = 0.045505400558346363604;
  points(0, 5) = 0.021524385369456333628;
  points(1, 5) = 0.93297021407219760114;
  points(0, 6) = 0.9329702140721973791;
  points(1, 6) = 0.021524385369456125461;
  points(0, 7) = 0.045505400558346509321;
  points(1, 7) = 0.93297021407219760114;
  points(0, 8) = 0.021524385369455802802;
  points(1, 8) = 0.045505400558346682793;
  points(0, 9) = 0.21339445476708729377;
  points(1, 9) = 0.049069669357559506095;
  points(0, 10) = 0.73753587587535318626;
  points(1, 10) = 0.21339445476708729377;
  points(0, 11) = 0.049069669357559519973;
  points(1, 11) = 0.7375358758753534083;
  points(0, 12) = 0.73753587587535318626;
  points(1, 12) = 0.049069669357559506095;
  points(0, 13) = 0.21339445476708734928;
  points(1, 13) = 0.73753587587535329728;
  points(0, 14) = 0.049069669357559311806;
  points(1, 14) = 0.21339445476708759908;
  points(0, 15) = 0.0048041261966578615791;
  points(1, 15) = 0.0048041261966581833703;
  points(0, 16) = 0.99039174760668391428;
  points(1, 16) = 0.0048041261966578624465;
  points(0, 17) = 0.0048041261966583759246;
  points(1, 17) = 0.99039174760668391428;
  points(0, 18) = 0.4582799042404119283;
  points(1, 18) = 0.083440191519176143409;
  points(0, 19) = 0.45827990424041198381;
  points(1, 19) = 0.45827990424041203932;
  points(0, 20) = 0.083440191519176060142;
  points(1, 20) = 0.45827990424041215034;
  points(0, 21) = 0.24210251191931964065;
  points(1, 21) = 0.17765845029637031272;
  points(0, 22) = 0.58023903778431007439;
  points(1, 22) = 0.24210251191931975168;
  points(0, 23) = 0.17765845029637034047;
  points(1, 23) = 0.58023903778431007439;
  points(0, 24) = 0.58023903778431007439;
  points(1, 24) = 0.17765845029637031272;
  points(0, 25) = 0.24210251191931975168;
  points(1, 25) = 0.58023903778431007439;
  points(0, 26) = 0.17765845029637017394;
  points(1, 26) = 0.2421025119193198627;
  points(0, 27) = 0.3862679735700420558;
  points(1, 27) = 0.22746405285991594392;
  points(0, 28) = 0.38626797357004200029;
  points(1, 28) = 0.38626797357004216682;
  points(0, 29) = 0.22746405285991580514;
  points(1, 29) = 0.38626797357004222233;
  points(0, 30) = 0.32719073201916998306;
  points(1, 30) = 0.18981235629273687793;
  points(0, 31) = 0.48299691168809322228;
  points(1, 31) = 0.32719073201917003857;
  points(0, 32) = 0.18981235629273682242;
  points(1, 32) = 0.48299691168809327779;
  points(0, 33) = 0.48299691168809316677;
  points(1, 33) = 0.18981235629273687793;
  points(0, 34) = 0.32719073201917003857;
  points(1, 34) = 0.48299691168809327779;
  points(0, 35) = 0.18981235629273676691;
  points(1, 35) = 0.3271907320191702051;
  points(0, 36) = 0.14199816693317424132;
  points(1, 36) = 0.0044583820232893221769;
  points(0, 37) = 0.85354345104353634976;
  points(1, 37) = 0.14199816693317418581;
  points(0, 38) = 0.0044583820232894089131;
  points(1, 38) = 0.85354345104353668283;
  points(0, 39) = 0.85354345104353646079;
  points(1, 39) = 0.0044583820232893221769;
  points(0, 40) = 0.14199816693317424132;
  points(1, 40) = 0.85354345104353668283;
  points(0, 41) = 0.0044583820232890342128;
  points(1, 41) = 0.14199816693317454663;
  points(0, 42) = 0.17539639319146171914;
  points(1, 42) = 0.087677976484352049269;
  points(0, 43) = 0.73692563032418623159;
  points(1, 43) = 0.1753963931914617469;
  points(0, 44) = 0.08767797648435210478;
  points(1, 44) = 0.73692563032418634261;
  points(0, 45) = 0.73692563032418623159;
  points(1, 45) = 0.087677976484352049269;
  points(0, 46) = 0.17539639319146177465;
  points(1, 46) = 0.73692563032418634261;
  points(0, 47) = 0.08767797648435185498;
  points(1, 47) = 0.1753963931914619967;
  points(0, 48) = 0.39213961333441449408;
  points(1, 48) = 0.063180327634410671234;
  points(0, 49) = 0.54468005903117477917;
  points(1, 49) = 0.39213961333441454959;
  points(0, 50) = 0.063180327634410671234;
  points(1, 50) = 0.54468005903117500122;
  points(0, 51) = 0.54468005903117477917;
  points(1, 51) = 0.063180327634410671234;
  points(0, 52) = 0.39213961333441449408;
  points(1, 52) = 0.54468005903117489019;
  points(0, 53) = 0.063180327634410587967;
  points(1, 53) = 0.39213961333441477164;
  points(0, 54) = 0.25826407215046209842;
  points(1, 54) = 0.25826407215046226495;
  points(0, 55) = 0.48347185569907563663;
  points(1, 55) = 0.25826407215046220944;
  points(0, 56) = 0.25826407215046220944;
  points(1, 56) = 0.48347185569907580316;
  points(0, 57) = 0.33414561503592132841;
  points(1, 57) = 0.0041494641339236736435;
  points(0, 58) = 0.66170492083015508555;
  points(1, 58) = 0.33414561503592132841;
  points(0, 59) = 0.0041494641339236415511;
  points(1, 59) = 0.6617049208301553076;
  points(0, 60) = 0.66170492083015497453;
  points(1, 60) = 0.0041494641339236736435;
  points(0, 61) = 0.33414561503592132841;
  points(1, 61) = 0.66170492083015508555;
  points(0, 62) = 0.0041494641339235027733;
  points(1, 62) = 0.33414561503592160596;
  points(0, 63) = 0.17414619605118214496;
  points(1, 63) = 0.022794804925916248295;
  points(0, 64) = 0.80305899902290167613;
  points(1, 64) = 0.17414619605118214496;
  points(0, 65) = 0.022794804925916289928;
  points(1, 65) = 0.80305899902290178716;
  points(0, 66) = 0.80305899902290156511;
  points(1, 66) = 0.022794804925916248295;
  points(0, 67) = 0.17414619605118220047;
  points(1, 67) = 0.80305899902290178716;
  points(0, 68) = 0.022794804925915984617;
  points(1, 68) = 0.17414619605118247803;
  points(0, 69) = 0.27583900807182420989;
  points(1, 69) = 0.022700844371797014587;
  points(0, 70) = 0.70146014755637886573;
  points(1, 70) = 0.27583900807182415438;
  points(0, 71) = 0.022700844371797090915;
  points(1, 71) = 0.70146014755637897675;
  points(0, 72) = 0.70146014755637875471;
  points(1, 72) = 0.022700844371797014587;
  points(0, 73) = 0.27583900807182420989;
  points(1, 73) = 0.70146014755637897675;
  points(0, 74) = 0.022700844371796841115;
  points(1, 74) = 0.27583900807182443193;
  points(0, 75) = 0.02622266716465227257;
  points(1, 75) = 0.0061496485426639707975;
  points(0, 76) = 0.96762768429268375403;
  points(1, 76) = 0.026222667164652230937;
  points(0, 77) = 0.0061496485426641989136;
  points(1, 77) = 0.96762768429268375403;
  points(0, 78) = 0.96762768429268375403;
  points(1, 78) = 0.0061496485426639707975;
  points(0, 79) = 0.026222667164652324612;
  points(1, 79) = 0.96762768429268397608;
  points(0, 80) = 0.0061496485426636923743;
  points(1, 80) = 0.026222667164652616045;
  points(0, 81) = 0.24304720236592614047;
  points(1, 81) = 0.11203362934227098502;
  points(0, 82) = 0.64491916829180284676;
  points(1, 82) = 0.24304720236592619598;
  points(0, 83) = 0.11203362934227101277;
  points(1, 83) = 0.64491916829180295778;
  points(0, 84) = 0.64491916829180284676;
  points(1, 84) = 0.11203362934227098502;
  points(0, 85) = 0.24304720236592625149;
  points(1, 85) = 0.64491916829180295778;
  points(0, 86) = 0.11203362934227081849;
  points(1, 86) = 0.24304720236592641802;
  points(0, 87) = 0.22999298405790716271;
  points(1, 87) = 0.0047814897729871333812;
  points(0, 88) = 0.76522552616910577417;
  points(1, 88) = 0.22999298405790719046;
  points(0, 89) = 0.0047814897729871463916;
  points(1, 89) = 0.76522552616910588519;
  points(0, 90) = 0.76522552616910566314;
  points(1, 90) = 0.0047814897729871333812;
  points(0, 91) = 0.22999298405790724598;
  points(1, 91) = 0.76522552616910588519;
  points(0, 92) = 0.0047814897729869104692;
  points(1, 92) = 0.22999298405790749578;
  points(0, 93) = 0.10589584417862750454;
  points(1, 93) = 0.10589584417862776822;
  points(0, 94) = 0.7882083116427446301;
  points(1, 94) = 0.10589584417862749066;
  points(0, 95) = 0.105895844178627907;
  points(1, 95) = 0.78820831164274485214;
  points(0, 96) = 0.42955220211889932891;
  points(1, 96) = 0.14089559576220139769;
  points(0, 97) = 0.42955220211889932891;
  points(1, 97) = 0.42955220211889938442;
  points(0, 98) = 0.14089559576220131443;
  points(1, 98) = 0.42955220211889949544;
  points(0, 99) = 0.29560828087240165196;
  points(1, 99) = 0.062448742179632886484;
  points(0, 100) = 0.64194297694796553788;
  points(1, 100) = 0.29560828087240170747;
  points(0, 101) = 0.062448742179632810156;
  points(1, 101) = 0.64194297694796575993;
  points(0, 102) = 0.64194297694796542686;
  points(1, 102) = 0.062448742179632886484;
  points(0, 103) = 0.29560828087240170747;
  points(1, 103) = 0.64194297694796553788;
  points(0, 104) = 0.062448742179632699134;
  points(1, 104) = 0.29560828087240198503;
  points(0, 105) = 0.12139345075409119223;
  points(1, 105) = 0.050211185913428116323;
  points(0, 106) = 0.82839536333248064981;
  points(1, 106) = 0.12139345075409119223;
  points(0, 107) = 0.050211185913428213468;
  points(1, 107) = 0.82839536333248076083;
  points(0, 108) = 0.82839536333248064981;
  points(1, 108) = 0.050211185913428116323;
  points(0, 109) = 0.12139345075409135877;
  points(1, 109) = 0.82839536333248076083;
  points(0, 110) = 0.050211185913427915095;
  points(1, 110) = 0.12139345075409151142;
  points(0, 111) = 0.37382380031020961964;
  points(1, 111) = 0.025727998742878743083;
  points(0, 112) = 0.60044820094691153667;
  points(1, 112) = 0.37382380031020967515;
  points(0, 113) = 0.025727998742878732674;
  points(1, 113) = 0.60044820094691175871;
  points(0, 114) = 0.60044820094691164769;
  points(1, 114) = 0.025727998742878743083;
  points(0, 115) = 0.37382380031020967515;
  points(1, 115) = 0.60044820094691164769;
  points(0, 116) = 0.025727998742878593896;
  points(1, 116) = 0.3738238003102099527;
  points(0, 117) = 0.44278340652024356094;
  points(1, 117) = 0.0056465659934661618577;
  points(0, 118) = 0.55157002748629024858;
  points(1, 118) = 0.44278340652024356094;
  points(0, 119) = 0.0056465659934660794583;
  points(1, 119) = 0.55157002748629058164;
  points(0, 120) = 0.5515700274862903596;
  points(1, 120) = 0.0056465659934661618577;
  points(0, 121) = 0.44278340652024356094;
  points(1, 121) = 0.5515700274862903596;
  points(0, 122) = 0.0056465659934660517028;
  points(1, 122) = 0.44278340652024378299;
  points(0, 123) = 0.33779866320058232754;
  points(1, 123) = 0.11808906971509507133;
  points(0, 124) = 0.54411226708432258725;
  points(1, 124) = 0.33779866320058238305;
  points(0, 125) = 0.1180890697150950297;
  points(1, 125) = 0.5441122670843228093;
  points(0, 126) = 0.54411226708432258725;
  points(1, 126) = 0.11808906971509507133;
  points(0, 127) = 0.33779866320058227203;
  points(1, 127) = 0.5441122670843228093;
  points(0, 128) = 0.11808906971509491868;
  points(1, 128) = 0.33779866320058249407;
  points(0, 129) = 0.092229189195282210156;
  points(1, 129) = 0.018242291012294721553;
  points(0, 130) = 0.88952851979242297809;
  points(1, 130) = 0.092229189195282210156;
  points(0, 131) = 0.018242291012294797881;
  points(1, 131) = 0.88952851979242320013;
  points(0, 132) = 0.88952851979242308911;
  points(1, 132) = 0.018242291012294721553;
  points(0, 133) = 0.092229189195282224034;
  points(1, 133) = 0.88952851979242320013;
  points(0, 134) = 0.018242291012294478691;
  points(1, 134) = 0.092229189195282529345;
  points(0, 135) = 0.48484113256258942748;
  points(1, 135) = 0.030317734874821148511;
  points(0, 136) = 0.4848411325625895385;
  points(1, 136) = 0.48484113256258948299;
  points(0, 137) = 0.03031773487482108953;
  points(1, 137) = 0.48484113256258964952;
  points(0, 138) = 0.15863768886305959493;
  points(1, 138) = 0.15863768886305978922;
  points(0, 139) = 0.68272462227388053257;
  points(1, 139) = 0.15863768886305965045;
  points(0, 140) = 0.15863768886305990025;
  points(1, 140) = 0.6827246222738806436;
  points(0, 141) = 0.060839192392758603689;
  points(1, 141) = 0.060839192392758902062;
  points(0, 142) = 0.87832161521448248731;
  points(1, 142) = 0.060839192392758555117;
  points(0, 143) = 0.060839192392759033901;
  points(1, 143) = 0.87832161521448259833;
  points(0, 144) = 0.070290740478132732183;
  points(1, 144) = 0.0012002556014871523012;
  points(0, 145) = 0.92850900392038004938;
  points(1, 145) = 0.070290740478132732183;
  points(0, 146) = 0.0012002556014872878265;
  points(1, 146) = 0.92850900392038027142;
  points(0, 147) = 0.9285090039203801604;
  points(1, 147) = 0.0012002556014871523012;
  points(0, 148) = 0.070290740478132773816;
  points(1, 148) = 0.92850900392038027142;
  points(0, 149) = 0.0012002556014869131262;
  points(1, 149) = 0.070290740478133079128;

  weights(0) = 0.007181233150323061698;
  weights(1) = 0.007181233150323061698;
  weights(2) = 0.007181233150323061698;
  weights(3) = 0.0010587697788404485007;
  weights(4) = 0.0010587697788404485007;
  weights(5) = 0.0010587697788404485007;
  weights(6) = 0.0010587697788404485007;
  weights(7) = 0.0010587697788404485007;
  weights(8) = 0.0010587697788404485007;
  weights(9) = 0.0029478361172571207992;
  weights(10) = 0.0029478361172571207992;
  weights(11) = 0.0029478361172571207992;
  weights(12) = 0.0029478361172571207992;
  weights(13) = 0.0029478361172571207992;
  weights(14) = 0.0029478361172571207992;
  weights(15) = 0.00015556760434074805494;
  weights(16) = 0.00015556760434074805494;
  weights(17) = 0.00015556760434074805494;
  weights(18) = 0.0044258525054465770385;
  weights(19) = 0.0044258525054465770385;
  weights(20) = 0.0044258525054465770385;
  weights(21) = 0.0062786281083384350848;
  weights(22) = 0.0062786281083384350848;
  weights(23) = 0.0062786281083384350848;
  weights(24) = 0.0062786281083384350848;
  weights(25) = 0.0062786281083384350848;
  weights(26) = 0.0062786281083384350848;
  weights(27) = 0.0071052931952240890034;
  weights(28) = 0.0071052931952240890034;
  weights(29) = 0.0071052931952240890034;
  weights(30) = 0.0065530570620496875894;
  weights(31) = 0.0065530570620496875894;
  weights(32) = 0.0065530570620496875894;
  weights(33) = 0.0065530570620496875894;
  weights(34) = 0.0065530570620496875894;
  weights(35) = 0.0065530570620496875894;
  weights(36) = 0.0008894477096277561036;
  weights(37) = 0.0008894477096277561036;
  weights(38) = 0.0008894477096277561036;
  weights(39) = 0.0008894477096277561036;
  weights(40) = 0.0008894477096277561036;
  weights(41) = 0.0008894477096277561036;
  weights(42) = 0.0040059646433474784682;
  weights(43) = 0.0040059646433474784682;
  weights(44) = 0.0040059646433474784682;
  weights(45) = 0.0040059646433474784682;
  weights(46) = 0.0040059646433474784682;
  weights(47) = 0.0040059646433474784682;
  weights(48) = 0.004232347867138299552;
  weights(49) = 0.004232347867138299552;
  weights(50) = 0.004232347867138299552;
  weights(51) = 0.004232347867138299552;
  weights(52) = 0.004232347867138299552;
  weights(53) = 0.004232347867138299552;
  weights(54) = 0.0065463742945444788543;
  weights(55) = 0.0065463742945444788543;
  weights(56) = 0.0065463742945444788543;
  weights(57) = 0.0011883821338438908116;
  weights(58) = 0.0011883821338438908116;
  weights(59) = 0.0011883821338438908116;
  weights(60) = 0.0011883821338438908116;
  weights(61) = 0.0011883821338438908116;
  weights(62) = 0.0011883821338438908116;
  weights(63) = 0.0021384711675089709652;
  weights(64) = 0.0021384711675089709652;
  weights(65) = 0.0021384711675089709652;
  weights(66) = 0.0021384711675089709652;
  weights(67) = 0.0021384711675089709652;
  weights(68) = 0.0021384711675089709652;
  weights(69) = 0.002565638691018646677;
  weights(70) = 0.002565638691018646677;
  weights(71) = 0.002565638691018646677;
  weights(72) = 0.002565638691018646677;
  weights(73) = 0.002565638691018646677;
  weights(74) = 0.002565638691018646677;
  weights(75) = 0.00047427021294469990254;
  weights(76) = 0.00047427021294469990254;
  weights(77) = 0.00047427021294469990254;
  weights(78) = 0.00047427021294469990254;
  weights(79) = 0.00047427021294469990254;
  weights(80) = 0.00047427021294469990254;
  weights(81) = 0.005122993280852096952;
  weights(82) = 0.005122993280852096952;
  weights(83) = 0.005122993280852096952;
  weights(84) = 0.005122993280852096952;
  weights(85) = 0.005122993280852096952;
  weights(86) = 0.005122993280852096952;
  weights(87) = 0.0011622726822320243473;
  weights(88) = 0.0011622726822320243473;
  weights(89) = 0.0011622726822320243473;
  weights(90) = 0.0011622726822320243473;
  weights(91) = 0.0011622726822320243473;
  weights(92) = 0.0011622726822320243473;
  weights(93) = 0.0039049716855431679426;
  weights(94) = 0.0039049716855431679426;
  weights(95) = 0.0039049716855431679426;
  weights(96) = 0.0067737978016627498762;
  weights(97) = 0.0067737978016627498762;
  weights(98) = 0.0067737978016627498762;
  weights(99) = 0.0044625580701382720761;
  weights(100) = 0.0044625580701382720761;
  weights(101) = 0.0044625580701382720761;
  weights(102) = 0.0044625580701382720761;
  weights(103) = 0.0044625580701382720761;
  weights(104) = 0.0044625580701382720761;
  weights(105) = 0.0029589418861769431132;
  weights(106) = 0.0029589418861769431132;
  weights(107) = 0.0029589418861769431132;
  weights(108) = 0.0029589418861769431132;
  weights(109) = 0.0029589418861769431132;
  weights(110) = 0.0029589418861769431132;
  weights(111) = 0.0031302673214842740429;
  weights(112) = 0.0031302673214842740429;
  weights(113) = 0.0031302673214842740429;
  weights(114) = 0.0031302673214842740429;
  weights(115) = 0.0031302673214842740429;
  weights(116) = 0.0031302673214842740429;
  weights(117) = 0.0015700888217440168819;
  weights(118) = 0.0015700888217440168819;
  weights(119) = 0.0015700888217440168819;
  weights(120) = 0.0015700888217440168819;
  weights(121) = 0.0015700888217440168819;
  weights(122) = 0.0015700888217440168819;
  weights(123) = 0.0063935692114778968145;
  weights(124) = 0.0063935692114778968145;
  weights(125) = 0.0063935692114778968145;
  weights(126) = 0.0063935692114778968145;
  weights(127) = 0.0063935692114778968145;
  weights(128) = 0.0063935692114778968145;
  weights(129) = 0.0016024580953965163882;
  weights(130) = 0.0016024580953965163882;
  weights(131) = 0.0016024580953965163882;
  weights(132) = 0.0016024580953965163882;
  weights(133) = 0.0016024580953965163882;
  weights(134) = 0.0016024580953965163882;
  weights(135) = 0.0038410552892975090289;
  weights(136) = 0.0038410552892975090289;
  weights(137) = 0.0038410552892975090289;
  weights(138) = 0.0059713348201241101335;
  weights(139) = 0.0059713348201241101335;
  weights(140) = 0.0059713348201241101335;
  weights(141) = 0.0025641260023390325187;
  weights(142) = 0.0025641260023390325187;
  weights(143) = 0.0025641260023390325187;
  weights(144) = 0.00036256729749304126903;
  weights(145) = 0.00036256729749304126903;
  weights(146) = 0.00036256729749304126903;
  weights(147) = 0.00036256729749304126903;
  weights(148) = 0.00036256729749304126903;
  weights(149) = 0.00036256729749304126903;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 28);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 29>() { // NOLINT
  Eigen::MatrixXd points(2, 159);
  Eigen::VectorXd weights(159);

  points(0, 0) = 0.058942108840229205657;
  points(1, 0) = 0.0027287432479210704458;
  points(0, 1) = 0.93832914791184973691;
  points(1, 1) = 0.058942108840229157085;
  points(0, 2) = 0.00272874324792121703;
  points(1, 2) = 0.93832914791184984793;
  points(0, 3) = 0.93832914791184973691;
  points(1, 3) = 0.0027287432479210704458;
  points(0, 4) = 0.058942108840229323619;
  points(1, 4) = 0.93832914791184984793;
  points(0, 5) = 0.0027287432479207729408;
  points(1, 5) = 0.058942108840229545663;
  points(0, 6) = 0.34978801000933179566;
  points(1, 6) = 0.15717769986719348774;
  points(0, 7) = 0.49303429012347471661;
  points(1, 7) = 0.34978801000933190668;
  points(0, 8) = 0.15717769986719337671;
  points(1, 8) = 0.49303429012347488314;
  points(0, 9) = 0.49303429012347477212;
  points(1, 9) = 0.15717769986719348774;
  points(0, 10) = 0.34978801000933190668;
  points(1, 10) = 0.49303429012347477212;
  points(0, 11) = 0.15717769986719337671;
  points(1, 11) = 0.3497880100093320177;
  points(0, 12) = 0.32300182354355017056;
  points(1, 12) = 0.0021009666448275595221;
  points(0, 13) = 0.67489720981162226732;
  points(1, 13) = 0.32300182354355017056;
  points(0, 14) = 0.0021009666448275621242;
  points(1, 14) = 0.67489720981162248936;
  points(0, 15) = 0.67489720981162226732;
  points(1, 15) = 0.0021009666448275595221;
  points(0, 16) = 0.32300182354355005954;
  points(1, 16) = 0.67489720981162248936;
  points(0, 17) = 0.0021009666448274233463;
  points(1, 17) = 0.3230018235435503926;
  points(0, 18) = 0.49891482463768616062;
  points(1, 18) = 0.0021703507246276392863;
  points(0, 19) = 0.49891482463768621614;
  points(1, 19) = 0.49891482463768627165;
  points(0, 20) = 0.0021703507246275677289;
  points(1, 20) = 0.49891482463768643818;
  points(0, 21) = 0.15814585424951610459;
  points(1, 21) = 0.068165808813746439632;
  points(0, 22) = 0.77368833693673733087;
  points(1, 22) = 0.15814585424951613235;
  points(0, 23) = 0.068165808813746453509;
  points(1, 23) = 0.77368833693673766394;
  points(0, 24) = 0.7736883369367374419;
  points(1, 24) = 0.068165808813746439632;
  points(0, 25) = 0.15814585424951621562;
  points(1, 25) = 0.77368833693673755292;
  points(0, 26) = 0.068165808813746314732;
  points(1, 26) = 0.15814585424951638215;
  points(0, 27) = 0.029549468261353368376;
  points(1, 27) = 0.010830958603609353377;
  points(0, 28) = 0.95961957313503731815;
  points(1, 28) = 0.029549468261353399601;
  points(0, 29) = 0.01083095860360955287;
  points(1, 29) = 0.95961957313503720712;
  points(0, 30) = 0.95961957313503731815;
  points(1, 30) = 0.010830958603609353377;
  points(0, 31) = 0.029549468261353351028;
  points(1, 31) = 0.95961957313503754019;
  points(0, 32) = 0.010830958603609063678;
  points(1, 32) = 0.02954946826135371879;
  points(0, 33) = 0.2918191734265370707;
  points(1, 33) = 0.21893234198017255676;
  points(0, 34) = 0.48924848459329040029;
  points(1, 34) = 0.29181917342653718173;
  points(0, 35) = 0.21893234198017250125;
  points(1, 35) = 0.4892484845932904558;
  points(0, 36) = 0.48924848459329040029;
  points(1, 36) = 0.21893234198017255676;
  points(0, 37) = 0.2918191734265370707;
  points(1, 37) = 0.4892484845932904558;
  points(0, 38) = 0.21893234198017239023;
  points(1, 38) = 0.29181917342653723724;
  points(0, 39) = 0.075522178512995780109;
  points(1, 39) = 0.021286896240733259311;
  points(0, 40) = 0.90319092524627087037;
  points(1, 40) = 0.075522178512995752353;
  points(0, 41) = 0.021286896240733377272;
  points(1, 41) = 0.90319092524627109242;
  points(0, 42) = 0.9031909252462709814;
  points(1, 42) = 0.021286896240733259311;
  points(0, 43) = 0.075522178512995807864;
  points(1, 43) = 0.90319092524627109242;
  points(0, 44) = 0.021286896240733002572;
  points(1, 44) = 0.075522178512996113176;
  points(0, 45) = 0.11711666950889887406;
  points(1, 45) = 0.040847216576102456098;
  points(0, 46) = 0.8420361139149986629;
  points(1, 46) = 0.11711666950889886019;
  points(0, 47) = 0.04084721657610262957;
  points(1, 47) = 0.8420361139149986629;
  points(0, 48) = 0.8420361139149986629;
  points(1, 48) = 0.040847216576102456098;
  points(0, 49) = 0.11711666950889892957;
  points(1, 49) = 0.84203611391499888494;
  points(0, 50) = 0.040847216576102199359;
  points(1, 50) = 0.11711666950889917937;
  points(0, 51) = 0.011166218108169190942;
  points(1, 51) = 0.0016034964960437636181;
  points(0, 52) = 0.98723028539578705498;
  points(1, 52) = 0.011166218108169147574;
  points(0, 53) = 0.001603496496043854691;
  points(1, 53) = 0.98723028539578727703;
  points(0, 54) = 0.98723028539578694396;
  points(1, 54) = 0.0016034964960437636181;
  points(0, 55) = 0.011166218108169201351;
  points(1, 55) = 0.98723028539578727703;
  points(0, 56) = 0.0016034964960434999401;
  points(1, 56) = 0.011166218108169466763;
  points(0, 57) = 0.43438042676173060919;
  points(1, 57) = 0.13123914647653878163;
  points(0, 58) = 0.4343804267617306647;
  points(1, 58) = 0.43438042676173072021;
  points(0, 59) = 0.13123914647653869836;
  points(1, 59) = 0.43438042676173077572;
  points(0, 60) = 0.041097335627117932699;
  points(1, 60) = 0.04109733562711824495;
  points(0, 61) = 0.91780532874576381541;
  points(1, 61) = 0.041097335627117918821;
  points(0, 62) = 0.04109733562711836985;
  points(1, 62) = 0.91780532874576392643;
  points(0, 63) = 0.20804564927908714145;
  points(1, 63) = 0.10154598522683402906;
  points(0, 64) = 0.69040836549407880174;
  points(1, 64) = 0.20804564927908719696;
  points(0, 65) = 0.1015459852268340013;
  points(1, 65) = 0.69040836549407902378;
  points(0, 66) = 0.69040836549407880174;
  points(1, 66) = 0.10154598522683402906;
  points(0, 67) = 0.20804564927908714145;
  points(1, 67) = 0.69040836549407902378;
  points(0, 68) = 0.10154598522683384865;
  points(1, 68) = 0.20804564927908739125;
  points(0, 69) = 0.392210114980434843;
  points(1, 69) = 0.041527061268822683393;
  points(0, 70) = 0.56626282375074254993;
  points(1, 70) = 0.39221011498043489851;
  points(0, 71) = 0.041527061268822662576;
  points(1, 71) = 0.56626282375074266096;
  points(0, 72) = 0.56626282375074243891;
  points(1, 72) = 0.041527061268822683393;
  points(0, 73) = 0.39221011498043478749;
  points(1, 73) = 0.56626282375074254993;
  points(0, 74) = 0.04152706126882257931;
  points(1, 74) = 0.39221011498043506505;
  points(0, 75) = 0.35971127550997583633;
  points(1, 75) = 0.093849041145132441888;
  points(0, 76) = 0.54643968334489168015;
  points(1, 76) = 0.35971127550997594735;
  points(0, 77) = 0.09384904114513242801;
  points(1, 77) = 0.54643968334489179117;
  points(0, 78) = 0.54643968334489168015;
  points(1, 78) = 0.093849041145132441888;
  points(0, 79) = 0.35971127550997589184;
  points(1, 79) = 0.54643968334489179117;
  points(0, 80) = 0.093849041145132344743;
  points(1, 80) = 0.35971127550997611388;
  points(0, 81) = 0.2458746994828754362;
  points(1, 81) = 0.0086860298043841387833;
  points(0, 82) = 0.74543927071274029839;
  points(1, 82) = 0.24587469948287546395;
  points(0, 83) = 0.0086860298043842099069;
  points(1, 83) = 0.74543927071274052043;
  points(0, 84) = 0.74543927071274052043;
  points(1, 84) = 0.0086860298043841387833;
  points(0, 85) = 0.24587469948287549171;
  points(1, 85) = 0.74543927071274052043;
  points(0, 86) = 0.0086860298043839601068;
  points(1, 86) = 0.24587469948287571375;
  points(0, 87) = 0.16700273817492314321;
  points(1, 87) = 0.017589124044045625905;
  points(0, 88) = 0.81540813778103127252;
  points(1, 88) = 0.16700273817492311546;
  points(0, 89) = 0.017589124044045667539;
  points(1, 89) = 0.81540813778103149456;
  points(0, 90) = 0.81540813778103127252;
  points(1, 90) = 0.017589124044045625905;
  points(0, 91) = 0.16700273817492311546;
  points(1, 91) = 0.81540813778103149456;
  points(0, 92) = 0.017589124044045376105;
  points(1, 92) = 0.16700273817492342077;
  points(0, 93) = 0.20840530513240079769;
  points(1, 93) = 0.20840530513240096422;
  points(0, 94) = 0.58318938973519818258;
  points(1, 94) = 0.20840530513240082544;
  points(0, 95) = 0.20840530513240090871;
  points(1, 95) = 0.58318938973519840463;
  points(0, 96) = 0.11500859863194642929;
  points(1, 96) = 0.0055235245122125554984;
  points(0, 97) = 0.87946787685584093541;
  points(1, 97) = 0.11500859863194641541;
  points(0, 98) = 0.0055235245122126630513;
  points(1, 98) = 0.87946787685584115746;
  points(0, 99) = 0.87946787685584104644;
  points(1, 99) = 0.0055235245122125554984;
  points(0, 100) = 0.11500859863194651256;
  points(1, 100) = 0.87946787685584115746;
  points(0, 101) = 0.0055235245122123577399;
  points(1, 101) = 0.1150085986319467346;
  points(0, 102) = 0.16074588443196352605;
  points(1, 102) = 0.16074588443196377585;
  points(0, 103) = 0.67850823113607261483;
  points(1, 103) = 0.16074588443196360932;
  points(0, 104) = 0.16074588443196380361;
  points(1, 104) = 0.67850823113607283688;
  points(0, 105) = 0.31539539811731914787;
  points(1, 105) = 0.023858926942655605402;
  points(0, 106) = 0.6607456749400253404;
  points(1, 106) = 0.31539539811731909236;
  points(0, 107) = 0.023858926942655678261;
  points(1, 107) = 0.6607456749400253404;
  points(0, 108) = 0.66074567494002522938;
  points(1, 108) = 0.023858926942655605402;
  points(0, 109) = 0.31539539811731920338;
  points(1, 109) = 0.6607456749400253404;
  points(0, 110) = 0.02385892694265542846;
  points(1, 110) = 0.31539539811731936991;
  points(0, 111) = 0.22322265022482060126;
  points(1, 111) = 0.040295334544771806151;
  points(0, 112) = 0.73648201523040757177;
  points(1, 112) = 0.22322265022482060126;
  points(0, 113) = 0.040295334544771910235;
  points(1, 113) = 0.73648201523040768279;
  points(0, 114) = 0.73648201523040757177;
  points(1, 114) = 0.040295334544771806151;
  points(0, 115) = 0.22322265022482068453;
  points(1, 115) = 0.73648201523040768279;
  points(0, 116) = 0.040295334544771604923;
  points(1, 116) = 0.22322265022482085106;
  points(0, 117) = 0.28839585991873240012;
  points(1, 117) = 0.067878404311447093633;
  points(0, 118) = 0.64372573576982050625;
  points(1, 118) = 0.28839585991873240012;
  points(0, 119) = 0.067878404311447093633;
  points(1, 119) = 0.64372573576982072829;
  points(0, 120) = 0.64372573576982050625;
  points(1, 120) = 0.067878404311447093633;
  points(0, 121) = 0.28839585991873240012;
  points(1, 121) = 0.64372573576982072829;
  points(0, 122) = 0.067878404311446954855;
  points(1, 122) = 0.28839585991873267767;
  points(0, 123) = 0.48840160293260270752;
  points(1, 123) = 0.023196794134794529452;
  points(0, 124) = 0.48840160293260270752;
  points(1, 124) = 0.48840160293260281854;
  points(0, 125) = 0.023196794134794473941;
  points(1, 125) = 0.48840160293260292956;
  points(0, 126) = 0.26736635027277555476;
  points(1, 126) = 0.13953560718108265482;
  points(0, 127) = 0.59309804254614173491;
  points(1, 127) = 0.26736635027277561028;
  points(0, 128) = 0.13953560718108265482;
  points(1, 128) = 0.59309804254614195695;
  points(0, 129) = 0.59309804254614173491;
  points(1, 129) = 0.13953560718108265482;
  points(0, 130) = 0.26736635027277549925;
  points(1, 130) = 0.59309804254614195695;
  points(0, 131) = 0.13953560718108248828;
  points(1, 131) = 0.26736635027277577681;
  points(0, 132) = 0.30238641121512843668;
  points(1, 132) = 0.30238641121512860321;
  points(0, 133) = 0.39522717756974301562;
  points(1, 133) = 0.30238641121512849219;
  points(0, 134) = 0.30238641121512843668;
  points(1, 134) = 0.39522717756974318215;
  points(0, 135) = 0.40576539529889155133;
  points(1, 135) = 0.0080665857041666150229;
  points(0, 136) = 0.58616801899694181976;
  points(1, 136) = 0.40576539529889160685;
  points(0, 137) = 0.0080665857041665733895;
  points(1, 137) = 0.58616801899694204181;
  points(0, 138) = 0.58616801899694181976;
  points(1, 138) = 0.0080665857041666150229;
  points(0, 139) = 0.40576539529889160685;
  points(1, 139) = 0.58616801899694193079;
  points(0, 140) = 0.0080665857041664901228;
  points(1, 140) = 0.40576539529889182889;
  points(0, 141) = 0.11442681299442541976;
  points(1, 141) = 0.11442681299442569731;
  points(0, 142) = 0.77114637401114882742;
  points(1, 142) = 0.11442681299442543363;
  points(0, 143) = 0.11442681299442569731;
  points(1, 143) = 0.77114637401114904947;
  points(0, 144) = 0.46476243108073889143;
  points(1, 144) = 0.070475137838522161626;
  points(0, 145) = 0.46476243108073889143;
  points(1, 145) = 0.46476243108073900245;
  points(0, 146) = 0.070475137838522106115;
  points(1, 146) = 0.46476243108073911348;
  points(0, 147) = 0.073721881390099650022;
  points(1, 147) = 0.073721881390099969211;
  points(0, 148) = 0.85255623721980033913;
  points(1, 148) = 0.073721881390099650022;
  points(0, 149) = 0.073721881390100052478;
  points(1, 149) = 0.85255623721980056118;
  points(0, 150) = 0.39061917878326368747;
  points(1, 150) = 0.21876164243347256955;
  points(0, 151) = 0.39061917878326379849;
  points(1, 151) = 0.390619178783263854;
  points(0, 152) = 0.21876164243347245852;
  points(1, 152) = 0.39061917878326390952;
  points(0, 153) = 0.18632072767535953761;
  points(1, 153) = 0.00012344681228740496523;
  points(0, 154) = 0.8135558255123530591;
  points(1, 154) = 0.18632072767535956537;
  points(0, 155) = 0.00012344681228748655144;
  points(1, 155) = 0.81355582551235317013;
  points(0, 156) = 0.81355582551235294808;
  points(1, 156) = 0.00012344681228740496523;
  points(0, 157) = 0.18632072767535962088;
  points(1, 157) = 0.8135558255123530591;
  points(0, 158) = 0.00012344681228722287347;
  points(1, 158) = 0.18632072767535987068;

  weights(0) = 0.00038462648573812496106;
  weights(1) = 0.00038462648573812496106;
  weights(2) = 0.00038462648573812496106;
  weights(3) = 0.00038462648573812496106;
  weights(4) = 0.00038462648573812496106;
  weights(5) = 0.00038462648573812496106;
  weights(6) = 0.0052261073484612249537;
  weights(7) = 0.0052261073484612249537;
  weights(8) = 0.0052261073484612249537;
  weights(9) = 0.0052261073484612249537;
  weights(10) = 0.0052261073484612249537;
  weights(11) = 0.0052261073484612249537;
  weights(12) = 0.00067641197462620528819;
  weights(13) = 0.00067641197462620528819;
  weights(14) = 0.00067641197462620528819;
  weights(15) = 0.00067641197462620528819;
  weights(16) = 0.00067641197462620528819;
  weights(17) = 0.00067641197462620528819;
  weights(18) = 0.00075823105157845217383;
  weights(19) = 0.00075823105157845217383;
  weights(20) = 0.00075823105157845217383;
  weights(21) = 0.0032195683537669076042;
  weights(22) = 0.0032195683537669076042;
  weights(23) = 0.0032195683537669076042;
  weights(24) = 0.0032195683537669076042;
  weights(25) = 0.0032195683537669076042;
  weights(26) = 0.0032195683537669076042;
  weights(27) = 0.00063609721858581651233;
  weights(28) = 0.00063609721858581651233;
  weights(29) = 0.00063609721858581651233;
  weights(30) = 0.00063609721858581651233;
  weights(31) = 0.00063609721858581651233;
  weights(32) = 0.00063609721858581651233;
  weights(33) = 0.0067726232860037963515;
  weights(34) = 0.0067726232860037963515;
  weights(35) = 0.0067726232860037963515;
  weights(36) = 0.0067726232860037963515;
  weights(37) = 0.0067726232860037963515;
  weights(38) = 0.0067726232860037963515;
  weights(39) = 0.0013807653747952240968;
  weights(40) = 0.0013807653747952240968;
  weights(41) = 0.0013807653747952240968;
  weights(42) = 0.0013807653747952240968;
  weights(43) = 0.0013807653747952240968;
  weights(44) = 0.0013807653747952240968;
  weights(45) = 0.0022563434227436682603;
  weights(46) = 0.0022563434227436682603;
  weights(47) = 0.0022563434227436682603;
  weights(48) = 0.0022563434227436682603;
  weights(49) = 0.0022563434227436682603;
  weights(50) = 0.0022563434227436682603;
  weights(51) = 0.00013474611592935079561;
  weights(52) = 0.00013474611592935079561;
  weights(53) = 0.00013474611592935079561;
  weights(54) = 0.00013474611592935079561;
  weights(55) = 0.00013474611592935079561;
  weights(56) = 0.00013474611592935079561;
  weights(57) = 0.0055855501475839371486;
  weights(58) = 0.0055855501475839371486;
  weights(59) = 0.0055855501475839371486;
  weights(60) = 0.0014302457530784456509;
  weights(61) = 0.0014302457530784456509;
  weights(62) = 0.0014302457530784456509;
  weights(63) = 0.0046931653381418383247;
  weights(64) = 0.0046931653381418383247;
  weights(65) = 0.0046931653381418383247;
  weights(66) = 0.0046931653381418383247;
  weights(67) = 0.0046931653381418383247;
  weights(68) = 0.0046931653381418383247;
  weights(69) = 0.0039114592291532449334;
  weights(70) = 0.0039114592291532449334;
  weights(71) = 0.0039114592291532449334;
  weights(72) = 0.0039114592291532449334;
  weights(73) = 0.0039114592291532449334;
  weights(74) = 0.0039114592291532449334;
  weights(75) = 0.0053151981815983146556;
  weights(76) = 0.0053151981815983146556;
  weights(77) = 0.0053151981815983146556;
  weights(78) = 0.0053151981815983146556;
  weights(79) = 0.0053151981815983146556;
  weights(80) = 0.0053151981815983146556;
  weights(81) = 0.0015256194116725976806;
  weights(82) = 0.0015256194116725976806;
  weights(83) = 0.0015256194116725976806;
  weights(84) = 0.0015256194116725976806;
  weights(85) = 0.0015256194116725976806;
  weights(86) = 0.0015256194116725976806;
  weights(87) = 0.0019126833358650086395;
  weights(88) = 0.0019126833358650086395;
  weights(89) = 0.0019126833358650086395;
  weights(90) = 0.0019126833358650086395;
  weights(91) = 0.0019126833358650086395;
  weights(92) = 0.0019126833358650086395;
  weights(93) = 0.0062696017213116229244;
  weights(94) = 0.0062696017213116229244;
  weights(95) = 0.0062696017213116229244;
  weights(96) = 0.00087084761565087587948;
  weights(97) = 0.00087084761565087587948;
  weights(98) = 0.00087084761565087587948;
  weights(99) = 0.00087084761565087587948;
  weights(100) = 0.00087084761565087587948;
  weights(101) = 0.00087084761565087587948;
  weights(102) = 0.005285708929113795522;
  weights(103) = 0.005285708929113795522;
  weights(104) = 0.005285708929113795522;
  weights(105) = 0.0028345767408327333763;
  weights(106) = 0.0028345767408327333763;
  weights(107) = 0.0028345767408327333763;
  weights(108) = 0.0028345767408327333763;
  weights(109) = 0.0028345767408327333763;
  weights(110) = 0.0028345767408327333763;
  weights(111) = 0.0032909988819261079378;
  weights(112) = 0.0032909988819261079378;
  weights(113) = 0.0032909988819261079378;
  weights(114) = 0.0032909988819261079378;
  weights(115) = 0.0032909988819261079378;
  weights(116) = 0.0032909988819261079378;
  weights(117) = 0.0045894620824638047638;
  weights(118) = 0.0045894620824638047638;
  weights(119) = 0.0045894620824638047638;
  weights(120) = 0.0045894620824638047638;
  weights(121) = 0.0045894620824638047638;
  weights(122) = 0.0045894620824638047638;
  weights(123) = 0.0030672005823594596617;
  weights(124) = 0.0030672005823594596617;
  weights(125) = 0.0030672005823594596617;
  weights(126) = 0.0062591832494172218795;
  weights(127) = 0.0062591832494172218795;
  weights(128) = 0.0062591832494172218795;
  weights(129) = 0.0062591832494172218795;
  weights(130) = 0.0062591832494172218795;
  weights(131) = 0.0062591832494172218795;
  weights(132) = 0.0081551194038716138396;
  weights(133) = 0.0081551194038716138396;
  weights(134) = 0.0081551194038716138396;
  weights(135) = 0.0018206702056403711951;
  weights(136) = 0.0018206702056403711951;
  weights(137) = 0.0018206702056403711951;
  weights(138) = 0.0018206702056403711951;
  weights(139) = 0.0018206702056403711951;
  weights(140) = 0.0018206702056403711951;
  weights(141) = 0.0040864392206135724192;
  weights(142) = 0.0040864392206135724192;
  weights(143) = 0.0040864392206135724192;
  weights(144) = 0.0051565583176292574194;
  weights(145) = 0.0051565583176292574194;
  weights(146) = 0.0051565583176292574194;
  weights(147) = 0.0028044235664156564637;
  weights(148) = 0.0028044235664156564637;
  weights(149) = 0.0028044235664156564637;
  weights(150) = 0.0079566076420444636907;
  weights(151) = 0.0079566076420444636907;
  weights(152) = 0.0079566076420444636907;
  weights(153) = 0.00034433631252088096409;
  weights(154) = 0.00034433631252088096409;
  weights(155) = 0.00034433631252088096409;
  weights(156) = 0.00034433631252088096409;
  weights(157) = 0.00034433631252088096409;
  weights(158) = 0.00034433631252088096409;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 29);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 30>() { // NOLINT
  Eigen::MatrixXd points(2, 171);
  Eigen::VectorXd weights(171);

  points(0, 0) = 0.25905388452106736796;
  points(1, 0) = 0.047835123140772574379;
  points(0, 1) = 0.69311099233816020337;
  points(1, 1) = 0.25905388452106731245;
  points(0, 2) = 0.047835123140772595196;
  points(1, 2) = 0.6931109923381603144;
  points(0, 3) = 0.69311099233816009235;
  points(1, 3) = 0.047835123140772574379;
  points(0, 4) = 0.25905388452106736796;
  points(1, 4) = 0.69311099233816020337;
  points(0, 5) = 0.047835123140772428663;
  points(1, 5) = 0.25905388452106759001;
  points(0, 6) = 0.0033187249366443552848;
  points(1, 6) = 0.0033187249366446714381;
  points(0, 7) = 0.99336255012671081932;
  points(1, 7) = 0.003318724936644350948;
  points(0, 8) = 0.0033187249366447568732;
  points(1, 8) = 0.99336255012671115239;
  points(0, 9) = 0.39157218829125634008;
  points(1, 9) = 0.079659526931600652122;
  points(0, 10) = 0.52876828477714299392;
  points(1, 10) = 0.39157218829125639559;
  points(0, 11) = 0.079659526931600610489;
  points(1, 11) = 0.52876828477714321597;
  points(0, 12) = 0.52876828477714299392;
  points(1, 12) = 0.079659526931600652122;
  points(0, 13) = 0.39157218829125639559;
  points(1, 13) = 0.52876828477714310495;
  points(0, 14) = 0.079659526931600499466;
  points(1, 14) = 0.39157218829125661763;
  points(0, 15) = 0.35614028329623353963;
  points(1, 15) = 0.057693401273874247992;
  points(0, 16) = 0.58616631542989217074;
  points(1, 16) = 0.35614028329623353963;
  points(0, 17) = 0.057693401273874234114;
  points(1, 17) = 0.58616631542989239279;
  points(0, 18) = 0.58616631542989217074;
  points(1, 18) = 0.057693401273874247992;
  points(0, 19) = 0.35614028329623353963;
  points(1, 19) = 0.58616631542989228176;
  points(0, 20) = 0.057693401273874123092;
  points(1, 20) = 0.35614028329623381719;
  points(0, 21) = 0.072372407224677831605;
  points(1, 21) = 0.072372407224678123039;
  points(0, 22) = 0.85525518555064394821;
  points(1, 22) = 0.072372407224677831605;
  points(0, 23) = 0.072372407224678247939;
  points(1, 23) = 0.85525518555064417026;
  points(0, 24) = 0.28301249734958877635;
  points(1, 24) = 0.077261437576884126055;
  points(0, 25) = 0.6397260650735270282;
  points(1, 25) = 0.28301249734958877635;
  points(0, 26) = 0.077261437576884084422;
  points(1, 26) = 0.63972606507352736127;
  points(0, 27) = 0.63972606507352713923;
  points(1, 27) = 0.077261437576884126055;
  points(0, 28) = 0.28301249734958872084;
  points(1, 28) = 0.63972606507352736127;
  points(0, 29) = 0.077261437576883917888;
  points(1, 29) = 0.2830124973495889984;
  points(0, 30) = 0.04715791024217176608;
  points(1, 30) = 0.047157910242172050574;
  points(0, 31) = 0.90568417951565616253;
  points(1, 31) = 0.047157910242171731385;
  points(0, 32) = 0.04715791024217214078;
  points(1, 32) = 0.90568417951565638457;
  points(0, 33) = 0.24161376245152438313;
  points(1, 33) = 0.022758384295000072539;
  points(0, 34) = 0.73562785325347557208;
  points(1, 34) = 0.24161376245152441089;
  points(0, 35) = 0.022758384295000100295;
  points(1, 35) = 0.7356278532534756831;
  points(0, 36) = 0.73562785325347557208;
  points(1, 36) = 0.022758384295000072539;
  points(0, 37) = 0.24161376245152443865;
  points(1, 37) = 0.7356278532534756831;
  points(0, 38) = 0.022758384294999864372;
  points(1, 38) = 0.24161376245152468845;
  points(0, 39) = 0.25278124718793293368;
  points(1, 39) = 0.12381197877067465218;
  points(0, 40) = 0.62340677404139244189;
  points(1, 40) = 0.2527812471879329892;
  points(0, 41) = 0.12381197877067462443;
  points(1, 41) = 0.62340677404139266393;
  points(0, 42) = 0.62340677404139244189;
  points(1, 42) = 0.12381197877067465218;
  points(0, 43) = 0.25278124718793293368;
  points(1, 43) = 0.62340677404139266393;
  points(0, 44) = 0.12381197877067451341;
  points(1, 44) = 0.25278124718793315573;
  points(0, 45) = 0.18490610638391710707;
  points(1, 45) = 0.11588196723610059979;
  points(0, 46) = 0.69921192637998219599;
  points(1, 46) = 0.18490610638391716258;
  points(0, 47) = 0.11588196723610061367;
  points(1, 47) = 0.69921192637998241803;
  points(0, 48) = 0.69921192637998219599;
  points(1, 48) = 0.11588196723610059979;
  points(0, 49) = 0.18490610638391719034;
  points(1, 49) = 0.69921192637998241803;
  points(0, 50) = 0.11588196723610037775;
  points(1, 50) = 0.18490610638391738463;
  points(0, 51) = 0.46803017365112542514;
  points(1, 51) = 0.063939652697749191357;
  points(0, 52) = 0.46803017365112542514;
  points(1, 52) = 0.46803017365112542514;
  points(0, 53) = 0.063939652697749094212;
  points(1, 53) = 0.46803017365112564718;
  points(0, 54) = 0.012686604674467598722;
  points(1, 54) = 0.012686604674467884951;
  points(0, 55) = 0.97462679065106450071;
  points(1, 55) = 0.012686604674467564027;
  points(0, 56) = 0.012686604674468027198;
  points(1, 56) = 0.97462679065106461174;
  points(0, 57) = 0.19370437715364013931;
  points(1, 57) = 0.066517444781881623905;
  points(0, 58) = 0.73977817806447820903;
  points(1, 58) = 0.19370437715364013931;
  points(0, 59) = 0.066517444781881651661;
  points(1, 59) = 0.73977817806447843108;
  points(0, 60) = 0.73977817806447820903;
  points(1, 60) = 0.066517444781881623905;
  points(0, 61) = 0.19370437715364013931;
  points(1, 61) = 0.73977817806447843108;
  points(0, 62) = 0.066517444781881374105;
  points(1, 62) = 0.19370437715364041686;
  points(0, 63) = 0.076401248439387545175;
  points(1, 63) = 0.0044387813770613614509;
  points(0, 64) = 0.91915997018355111159;
  points(1, 64) = 0.076401248439387545175;
  points(0, 65) = 0.0044387813770615514031;
  points(1, 65) = 0.91915997018355111159;
  points(0, 66) = 0.91915997018355100057;
  points(1, 66) = 0.0044387813770613614509;
  points(0, 67) = 0.076401248439387670075;
  points(1, 67) = 0.91915997018355111159;
  points(0, 68) = 0.0044387813770611073139;
  points(1, 68) = 0.07640124843938789212;
  points(0, 69) = 0.12159150822272789261;
  points(1, 69) = 0.12159150822272815629;
  points(0, 70) = 0.75681698355454396498;
  points(1, 70) = 0.12159150822272789261;
  points(0, 71) = 0.12159150822272818404;
  points(1, 71) = 0.75681698355454407601;
  points(0, 72) = 0.20904808745268962933;
  points(1, 72) = 0.0046635793926886265695;
  points(0, 73) = 0.78628833315462176579;
  points(1, 73) = 0.20904808745268962933;
  points(0, 74) = 0.0046635793926886881522;
  points(1, 74) = 0.78628833315462187681;
  points(0, 75) = 0.78628833315462176579;
  points(1, 75) = 0.0046635793926886265695;
  points(0, 76) = 0.2090480874526897126;
  points(1, 76) = 0.78628833315462187681;
  points(0, 77) = 0.004663579392688438352;
  points(1, 77) = 0.20904808745268993464;
  points(0, 78) = 0.2985429940592426723;
  points(1, 78) = 0.0047036817644770453906;
  points(0, 79) = 0.69675332417628033088;
  points(1, 79) = 0.29854299405924261679;
  points(0, 80) = 0.0047036817644770523295;
  points(1, 80) = 0.69675332417628055293;
  points(0, 81) = 0.69675332417628033088;
  points(1, 81) = 0.0047036817644770453906;
  points(0, 82) = 0.29854299405924272781;
  points(1, 82) = 0.69675332417628033088;
  points(0, 83) = 0.0047036817644769135516;
  points(1, 83) = 0.29854299405924294986;
  points(0, 84) = 0.334379040034031072;
  points(1, 84) = 0.025182066703868712793;
  points(0, 85) = 0.64043889326210035051;
  points(1, 85) = 0.334379040034031072;
  points(0, 86) = 0.025182066703868744018;
  points(1, 86) = 0.64043889326210046153;
  points(0, 87) = 0.64043889326210023949;
  points(1, 87) = 0.025182066703868712793;
  points(0, 88) = 0.334379040034031072;
  points(1, 88) = 0.64043889326210035051;
  points(0, 89) = 0.025182066703868577484;
  points(1, 89) = 0.33437904003403129405;
  points(0, 90) = 0.12323080238069511472;
  points(1, 90) = 0.06577657382474288994;
  points(0, 91) = 0.81099262379456193983;
  points(1, 91) = 0.12323080238069508696;
  points(0, 92) = 0.065776573824743000962;
  points(1, 92) = 0.81099262379456216188;
  points(0, 93) = 0.81099262379456193983;
  points(1, 93) = 0.06577657382474288994;
  points(0, 94) = 0.12323080238069517023;
  points(1, 94) = 0.81099262379456216188;
  points(0, 95) = 0.06577657382474264014;
  points(1, 95) = 0.12323080238069544778;
  points(0, 96) = 0.33851416242984572191;
  points(1, 96) = 0.12612409498498947102;
  points(0, 97) = 0.53536174258516477931;
  points(1, 97) = 0.33851416242984577742;
  points(0, 98) = 0.12612409498498944327;
  points(1, 98) = 0.53536174258516500135;
  points(0, 99) = 0.53536174258516477931;
  points(1, 99) = 0.12612409498498947102;
  points(0, 100) = 0.33851416242984572191;
  points(1, 100) = 0.53536174258516500135;
  points(0, 101) = 0.12612409498498933225;
  points(1, 101) = 0.33851416242984588845;
  points(0, 102) = 0.35440360218068744924;
  points(1, 102) = 0.19487095092351847114;
  points(0, 103) = 0.45072544689579407962;
  points(1, 103) = 0.35440360218068756026;
  points(0, 104) = 0.19487095092351838788;
  points(1, 104) = 0.45072544689579424615;
  points(0, 105) = 0.45072544689579407962;
  points(1, 105) = 0.19487095092351847114;
  points(0, 106) = 0.35440360218068744924;
  points(1, 106) = 0.45072544689579413513;
  points(0, 107) = 0.19487095092351838788;
  points(1, 107) = 0.35440360218068761577;
  points(0, 108) = 0.26306829775780826708;
  points(1, 108) = 0.19100142457228314052;
  points(0, 109) = 0.54593027766990864791;
  points(1, 109) = 0.2630682977578083781;
  points(0, 110) = 0.19100142457228314052;
  points(1, 110) = 0.54593027766990864791;
  points(0, 111) = 0.54593027766990864791;
  points(1, 111) = 0.19100142457228314052;
  points(0, 112) = 0.2630682977578083781;
  points(1, 112) = 0.54593027766990864791;
  points(0, 113) = 0.19100142457228294623;
  points(1, 113) = 0.26306829775780854463;
  points(0, 114) = 0.18240956151745285618;
  points(1, 114) = 0.18240956151745310598;
  points(0, 115) = 0.63518087696509395457;
  points(1, 115) = 0.18240956151745293945;
  points(0, 116) = 0.18240956151745318925;
  points(1, 116) = 0.63518087696509406559;
  points(0, 117) = 0.434566173964669622;
  points(1, 117) = 0.027533406124549898025;
  points(0, 118) = 0.53790041991078041406;
  points(1, 118) = 0.43456617396466973302;
  points(0, 119) = 0.027533406124549852922;
  points(1, 119) = 0.53790041991078074712;
  points(0, 120) = 0.53790041991078052508;
  points(1, 120) = 0.027533406124549898025;
  points(0, 121) = 0.43456617396466973302;
  points(1, 121) = 0.53790041991078052508;
  points(0, 122) = 0.027533406124549825167;
  points(1, 122) = 0.43456617396466984404;
  points(0, 123) = 0.16407098706987832681;
  points(1, 123) = 0.028063921981372978026;
  points(0, 124) = 0.80786509094874858761;
  points(1, 124) = 0.16407098706987835457;
  points(0, 125) = 0.02806392198137314109;
  points(1, 125) = 0.80786509094874869863;
  points(0, 126) = 0.80786509094874869863;
  points(1, 126) = 0.028063921981372978026;
  points(0, 127) = 0.16407098706987849335;
  points(1, 127) = 0.80786509094874869863;
  points(0, 128) = 0.028063921981372738634;
  points(1, 128) = 0.16407098706987868764;
  points(0, 129) = 0.36228727935294979812;
  points(1, 129) = 0.27542544129410040377;
  points(0, 130) = 0.36228727935294979812;
  points(1, 130) = 0.36228727935294990914;
  points(0, 131) = 0.27542544129410029274;
  points(1, 131) = 0.36228727935294996465;
  points(0, 132) = 0.042681999706080400725;
  points(1, 132) = 0.015902416268934706917;
  points(0, 133) = 0.9414155840249848195;
  points(1, 133) = 0.042681999706080324397;
  points(0, 134) = 0.015902416268934960186;
  points(1, 134) = 0.94141558402498493052;
  points(0, 135) = 0.9414155840249848195;
  points(1, 135) = 0.015902416268934706917;
  points(0, 136) = 0.042681999706080553381;
  points(1, 136) = 0.94141558402498493052;
  points(0, 137) = 0.015902416268934408544;
  points(1, 137) = 0.042681999706080768486;
  points(0, 138) = 0.093959794652729869413;
  points(1, 138) = 0.027294230652095775869;
  points(0, 139) = 0.87874597469517423676;
  points(1, 139) = 0.093959794652729855535;
  points(0, 140) = 0.027294230652095907708;
  points(1, 140) = 0.8787459746951744588;
  points(0, 141) = 0.87874597469517434778;
  points(1, 141) = 0.027294230652095775869;
  points(0, 142) = 0.093959794652729966558;
  points(1, 142) = 0.8787459746951744588;
  points(0, 143) = 0.027294230652095526068;
  points(1, 143) = 0.093959794652730174724;
  points(0, 144) = 0.13540885351993445229;
  points(1, 144) = 0.0056912114454161040131;
  points(0, 145) = 0.85889993503464945324;
  points(1, 145) = 0.13540885351993442454;
  points(0, 146) = 0.0056912114454161222277;
  points(1, 146) = 0.85889993503464967528;
  points(0, 147) = 0.85889993503464945324;
  points(1, 147) = 0.0056912114454161040131;
  points(0, 148) = 0.13540885351993453556;
  points(1, 148) = 0.85889993503464967528;
  points(0, 149) = 0.0056912114454158585497;
  points(1, 149) = 0.13540885351993478536;
  points(0, 150) = 0.4367432485484601945;
  points(1, 150) = 0.12651350290307963875;
  points(0, 151) = 0.4367432485484601945;
  points(1, 151) = 0.43674324854846025001;
  points(0, 152) = 0.12651350290307955548;
  points(1, 152) = 0.43674324854846036104;
  points(0, 153) = 0.27242804078392818257;
  points(1, 153) = 0.2724280407839283491;
  points(0, 154) = 0.45514391843214341282;
  points(1, 154) = 0.27242804078392829359;
  points(0, 155) = 0.2724280407839283491;
  points(1, 155) = 0.45514391843214357936;
  points(0, 156) = 0.39622151473965910862;
  points(1, 156) = 0.0051623470166213235311;
  points(0, 157) = 0.59861613824371961989;
  points(1, 157) = 0.39622151473965910862;
  points(0, 158) = 0.0051623470166212714894;
  points(1, 158) = 0.59861613824371984194;
  points(0, 159) = 0.59861613824371961989;
  points(1, 159) = 0.0051623470166213235311;
  points(0, 160) = 0.39622151473965910862;
  points(1, 160) = 0.59861613824371973092;
  points(0, 161) = 0.0051623470166212159782;
  points(1, 161) = 0.39622151473965938617;
  points(0, 162) = 0.49731933900030855789;
  points(1, 162) = 0.0053613219993828668819;
  points(0, 163) = 0.49731933900030866891;
  points(1, 163) = 0.4973193390003086134;
  points(0, 164) = 0.005361321999382828718;
  points(1, 164) = 0.49731933900030877993;
  points(0, 165) = 0.029484042597673940089;
  points(1, 165) = 0.00053370866069449122981;
  points(0, 166) = 0.96998224874163152531;
  points(1, 166) = 0.029484042597673905395;
  points(0, 167) = 0.00053370866069463174242;
  points(1, 167) = 0.96998224874163174736;
  points(0, 168) = 0.96998224874163163634;
  points(1, 168) = 0.00053370866069449122981;
  points(0, 169) = 0.029484042597674064989;
  points(1, 169) = 0.96998224874163174736;
  points(0, 170) = 0.00053370866069419112265;
  points(1, 170) = 0.029484042597674224584;

  weights(0) = 0.0021073792319562163235;
  weights(1) = 0.0021073792319562163235;
  weights(2) = 0.0021073792319562163235;
  weights(3) = 0.0021073792319562163235;
  weights(4) = 0.0021073792319562163235;
  weights(5) = 0.0021073792319562163235;
  weights(6) = 8.5864950685524691265e-05;
  weights(7) = 8.5864950685524691265e-05;
  weights(8) = 8.5864950685524691265e-05;
  weights(9) = 0.0029624613725460061976;
  weights(10) = 0.0029624613725460061976;
  weights(11) = 0.0029624613725460061976;
  weights(12) = 0.0029624613725460061976;
  weights(13) = 0.0029624613725460061976;
  weights(14) = 0.0029624613725460061976;
  weights(15) = 0.0029721100922122426456;
  weights(16) = 0.0029721100922122426456;
  weights(17) = 0.0029721100922122426456;
  weights(18) = 0.0029721100922122426456;
  weights(19) = 0.0029721100922122426456;
  weights(20) = 0.0029721100922122426456;
  weights(21) = 0.0019009663342077580666;
  weights(22) = 0.0019009663342077580666;
  weights(23) = 0.0019009663342077580666;
  weights(24) = 0.0034385921937679616092;
  weights(25) = 0.0034385921937679616092;
  weights(26) = 0.0034385921937679616092;
  weights(27) = 0.0034385921937679616092;
  weights(28) = 0.0034385921937679616092;
  weights(29) = 0.0034385921937679616092;
  weights(30) = 0.0014222168338437471066;
  weights(31) = 0.0014222168338437471066;
  weights(32) = 0.0014222168338437471066;
  weights(33) = 0.0020462494841735992014;
  weights(34) = 0.0020462494841735992014;
  weights(35) = 0.0020462494841735992014;
  weights(36) = 0.0020462494841735992014;
  weights(37) = 0.0020462494841735992014;
  weights(38) = 0.0020462494841735992014;
  weights(39) = 0.0044363272530086707637;
  weights(40) = 0.0044363272530086707637;
  weights(41) = 0.0044363272530086707637;
  weights(42) = 0.0044363272530086707637;
  weights(43) = 0.0044363272530086707637;
  weights(44) = 0.0044363272530086707637;
  weights(45) = 0.003767161464773240067;
  weights(46) = 0.003767161464773240067;
  weights(47) = 0.003767161464773240067;
  weights(48) = 0.003767161464773240067;
  weights(49) = 0.003767161464773240067;
  weights(50) = 0.003767161464773240067;
  weights(51) = 0.0038920643661654224024;
  weights(52) = 0.0038920643661654224024;
  weights(53) = 0.0038920643661654224024;
  weights(54) = 0.00042327507266444436935;
  weights(55) = 0.00042327507266444436935;
  weights(56) = 0.00042327507266444436935;
  weights(57) = 0.0034020033780509362741;
  weights(58) = 0.0034020033780509362741;
  weights(59) = 0.0034020033780509362741;
  weights(60) = 0.0034020033780509362741;
  weights(61) = 0.0034020033780509362741;
  weights(62) = 0.0034020033780509362741;
  weights(63) = 0.00060334828427105881114;
  weights(64) = 0.00060334828427105881114;
  weights(65) = 0.00060334828427105881114;
  weights(66) = 0.00060334828427105881114;
  weights(67) = 0.00060334828427105881114;
  weights(68) = 0.00060334828427105881114;
  weights(69) = 0.0036934559174571428113;
  weights(70) = 0.0036934559174571428113;
  weights(71) = 0.0036934559174571428113;
  weights(72) = 0.00097947428894662133016;
  weights(73) = 0.00097947428894662133016;
  weights(74) = 0.00097947428894662133016;
  weights(75) = 0.00097947428894662133016;
  weights(76) = 0.00097947428894662133016;
  weights(77) = 0.00097947428894662133016;
  weights(78) = 0.0011372229504993387576;
  weights(79) = 0.0011372229504993387576;
  weights(80) = 0.0011372229504993387576;
  weights(81) = 0.0011372229504993387576;
  weights(82) = 0.0011372229504993387576;
  weights(83) = 0.0011372229504993387576;
  weights(84) = 0.0026823424230931541476;
  weights(85) = 0.0026823424230931541476;
  weights(86) = 0.0026823424230931541476;
  weights(87) = 0.0026823424230931541476;
  weights(88) = 0.0026823424230931541476;
  weights(89) = 0.0026823424230931541476;
  weights(90) = 0.0029350349015327620653;
  weights(91) = 0.0029350349015327620653;
  weights(92) = 0.0029350349015327620653;
  weights(93) = 0.0029350349015327620653;
  weights(94) = 0.0029350349015327620653;
  weights(95) = 0.0029350349015327620653;
  weights(96) = 0.0056515117714687410078;
  weights(97) = 0.0056515117714687410078;
  weights(98) = 0.0056515117714687410078;
  weights(99) = 0.0056515117714687410078;
  weights(100) = 0.0056515117714687410078;
  weights(101) = 0.0056515117714687410078;
  weights(102) = 0.0071582426348337927294;
  weights(103) = 0.0071582426348337927294;
  weights(104) = 0.0071582426348337927294;
  weights(105) = 0.0071582426348337927294;
  weights(106) = 0.0071582426348337927294;
  weights(107) = 0.0071582426348337927294;
  weights(108) = 0.0064630117250591458122;
  weights(109) = 0.0064630117250591458122;
  weights(110) = 0.0064630117250591458122;
  weights(111) = 0.0064630117250591458122;
  weights(112) = 0.0064630117250591458122;
  weights(113) = 0.0064630117250591458122;
  weights(114) = 0.0053764254827164039557;
  weights(115) = 0.0053764254827164039557;
  weights(116) = 0.0053764254827164039557;
  weights(117) = 0.0031407982904458307816;
  weights(118) = 0.0031407982904458307816;
  weights(119) = 0.0031407982904458307816;
  weights(120) = 0.0031407982904458307816;
  weights(121) = 0.0031407982904458307816;
  weights(122) = 0.0031407982904458307816;
  weights(123) = 0.0023509684970529826954;
  weights(124) = 0.0023509684970529826954;
  weights(125) = 0.0023509684970529826954;
  weights(126) = 0.0023509684970529826954;
  weights(127) = 0.0023509684970529826954;
  weights(128) = 0.0023509684970529826954;
  weights(129) = 0.0077980456629128955606;
  weights(130) = 0.0077980456629128955606;
  weights(131) = 0.0077980456629128955606;
  weights(132) = 0.00091525343807441364528;
  weights(133) = 0.00091525343807441364528;
  weights(134) = 0.00091525343807441364528;
  weights(135) = 0.00091525343807441364528;
  weights(136) = 0.00091525343807441364528;
  weights(137) = 0.00091525343807441364528;
  weights(138) = 0.0019109402735475095915;
  weights(139) = 0.0019109402735475095915;
  weights(140) = 0.0019109402735475095915;
  weights(141) = 0.0019109402735475095915;
  weights(142) = 0.0019109402735475095915;
  weights(143) = 0.0019109402735475095915;
  weights(144) = 0.0009599402787344584213;
  weights(145) = 0.0009599402787344584213;
  weights(146) = 0.0009599402787344584213;
  weights(147) = 0.0009599402787344584213;
  weights(148) = 0.0009599402787344584213;
  weights(149) = 0.0009599402787344584213;
  weights(150) = 0.0062024795140730023743;
  weights(151) = 0.0062024795140730023743;
  weights(152) = 0.0062024795140730023743;
  weights(153) = 0.0074572753813428776029;
  weights(154) = 0.0074572753813428776029;
  weights(155) = 0.0074572753813428776029;
  weights(156) = 0.0013212839615816252253;
  weights(157) = 0.0013212839615816252253;
  weights(158) = 0.0013212839615816252253;
  weights(159) = 0.0013212839615816252253;
  weights(160) = 0.0013212839615816252253;
  weights(161) = 0.0013212839615816252253;
  weights(162) = 0.0013956590598703838731;
  weights(163) = 0.0013956590598703838731;
  weights(164) = 0.0013956590598703838731;
  weights(165) = 0.00016781085573320110409;
  weights(166) = 0.00016781085573320110409;
  weights(167) = 0.00016781085573320110409;
  weights(168) = 0.00016781085573320110409;
  weights(169) = 0.00016781085573320110409;
  weights(170) = 0.00016781085573320110409;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 30);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 31>() { // NOLINT
  Eigen::MatrixXd points(2, 181);
  Eigen::VectorXd weights(181);

  points(0, 0) = 0.33333333333333325932;
  points(1, 0) = 0.33333333333333342585;
  points(0, 1) = 0.48615246791305977148;
  points(1, 1) = 0.027695064173880408476;
  points(0, 2) = 0.48615246791305982699;
  points(1, 2) = 0.4861524679130598825;
  points(0, 3) = 0.027695064173880346026;
  points(1, 3) = 0.48615246791305999352;
  points(0, 4) = 0.13909062847209457958;
  points(1, 4) = 0.10666968086407756233;
  points(0, 5) = 0.75423969066382789972;
  points(1, 5) = 0.13909062847209460734;
  points(0, 6) = 0.10666968086407763172;
  points(1, 6) = 0.75423969066382789972;
  points(0, 7) = 0.75423969066382789972;
  points(1, 7) = 0.10666968086407756233;
  points(0, 8) = 0.1390906284720946906;
  points(1, 8) = 0.75423969066382789972;
  points(0, 9) = 0.10666968086407734029;
  points(1, 9) = 0.13909062847209488489;
  points(0, 10) = 0.4195880808642604709;
  points(1, 10) = 0.16082383827147908595;
  points(0, 11) = 0.4195880808642604709;
  points(1, 11) = 0.41958808086426052641;
  points(0, 12) = 0.16082383827147894717;
  points(1, 12) = 0.41958808086426069295;
  points(0, 13) = 0.1972331307896530439;
  points(1, 13) = 0.0032611556637283187904;
  points(0, 14) = 0.79950571354661859047;
  points(1, 14) = 0.1972331307896530439;
  points(0, 15) = 0.0032611556637283656279;
  points(1, 15) = 0.79950571354661881252;
  points(0, 16) = 0.79950571354661859047;
  points(1, 16) = 0.0032611556637283187904;
  points(0, 17) = 0.19723313078965309941;
  points(1, 17) = 0.79950571354661881252;
  points(0, 18) = 0.0032611556637281297055;
  points(1, 18) = 0.19723313078965334921;
  points(0, 19) = 0.23852415098431001272;
  points(1, 19) = 0.013139817840403656204;
  points(0, 20) = 0.7483360311752862426;
  points(1, 20) = 0.23852415098431001272;
  points(0, 21) = 0.013139817840403689164;
  points(1, 21) = 0.74833603117528657567;
  points(0, 22) = 0.74833603117528635362;
  points(1, 22) = 0.013139817840403656204;
  points(0, 23) = 0.23852415098430995721;
  points(1, 23) = 0.74833603117528657567;
  points(0, 24) = 0.013139817840403453242;
  points(1, 24) = 0.23852415098431026252;
  points(0, 25) = 0.079206796506698540217;
  points(1, 25) = 0.07920679650669883165;
  points(0, 26) = 0.8415864069866025865;
  points(1, 26) = 0.079206796506698512461;
  points(0, 27) = 0.079206796506698928795;
  points(1, 27) = 0.84158640698660280854;
  points(0, 28) = 0.029750729385989955339;
  points(1, 28) = 0.0023442211286868936716;
  points(0, 29) = 0.96790504948532307683;
  points(1, 29) = 0.029750729385989927583;
  points(0, 30) = 0.0023442211286870962006;
  points(1, 30) = 0.96790504948532318785;
  points(0, 31) = 0.96790504948532318785;
  points(1, 31) = 0.0023442211286868936716;
  points(0, 32) = 0.029750729385990104525;
  points(1, 32) = 0.96790504948532318785;
  points(0, 33) = 0.0023442211286866590503;
  points(1, 33) = 0.029750729385990312692;
  points(0, 34) = 0.017731349249713920097;
  points(1, 34) = 0.017731349249714208061;
  points(0, 35) = 0.9645373015005718198;
  points(1, 35) = 0.017731349249713888871;
  points(0, 36) = 0.017731349249714312144;
  points(1, 36) = 0.96453730150057204185;
  points(0, 37) = 0.39578393329688538183;
  points(1, 37) = 0.0019614003698950207254;
  points(0, 38) = 0.60225466633321955712;
  points(1, 38) = 0.39578393329688543734;
  points(0, 39) = 0.0019614003698950055465;
  points(1, 39) = 0.60225466633321977916;
  points(0, 40) = 0.60225466633321955712;
  points(1, 40) = 0.0019614003698950207254;
  points(0, 41) = 0.39578393329688538183;
  points(1, 41) = 0.60225466633321966814;
  points(0, 42) = 0.0019614003698949222798;
  points(1, 42) = 0.39578393329688560387;
  points(0, 43) = 0.35168005877608093934;
  points(1, 43) = 0.15263656577521975133;
  points(0, 44) = 0.49568337544869928157;
  points(1, 44) = 0.35168005877608099485;
  points(0, 45) = 0.15263656577521966806;
  points(1, 45) = 0.49568337544869955913;
  points(0, 46) = 0.49568337544869933708;
  points(1, 46) = 0.15263656577521975133;
  points(0, 47) = 0.35168005877608093934;
  points(1, 47) = 0.49568337544869944811;
  points(0, 48) = 0.15263656577521964031;
  points(1, 48) = 0.35168005877608116139;
  points(0, 49) = 0.20248219426175834146;
  points(1, 49) = 0.11342527834750290583;
  points(0, 50) = 0.68409252739073878047;
  points(1, 50) = 0.20248219426175839697;
  points(0, 51) = 0.11342527834750287807;
  points(1, 51) = 0.68409252739073889149;
  points(0, 52) = 0.68409252739073866945;
  points(1, 52) = 0.11342527834750290583;
  points(0, 53) = 0.20248219426175845248;
  points(1, 53) = 0.68409252739073889149;
  points(0, 54) = 0.11342527834750276705;
  points(1, 54) = 0.20248219426175861901;
  points(0, 55) = 0.42255395522221506077;
  points(1, 55) = 0.054521384444683136661;
  points(0, 56) = 0.52292466033310180951;
  points(1, 56) = 0.42255395522221506077;
  points(0, 57) = 0.054521384444683074211;
  points(1, 57) = 0.52292466033310203155;
  points(0, 58) = 0.52292466033310180951;
  points(1, 58) = 0.054521384444683136661;
  points(0, 59) = 0.42255395522221506077;
  points(1, 59) = 0.52292466033310192053;
  points(0, 60) = 0.054521384444683074211;
  points(1, 60) = 0.42255395522221528282;
  points(0, 61) = 0.12468050884744397155;
  points(1, 61) = 0.060604929160772216812;
  points(0, 62) = 0.81471456199178382551;
  points(1, 62) = 0.12468050884744392992;
  points(0, 63) = 0.060604929160772313956;
  points(1, 63) = 0.81471456199178393653;
  points(0, 64) = 0.81471456199178382551;
  points(1, 64) = 0.060604929160772216812;
  points(0, 65) = 0.12468050884744408258;
  points(1, 65) = 0.81471456199178393653;
  points(0, 66) = 0.060604929160771939256;
  points(1, 66) = 0.12468050884744427687;
  points(0, 67) = 0.25554623640285728525;
  points(1, 67) = 0.037588952157517757646;
  points(0, 68) = 0.70686481143962487383;
  points(1, 68) = 0.25554623640285728525;
  points(0, 69) = 0.037588952157517785402;
  points(1, 69) = 0.7068648114396252069;
  points(0, 70) = 0.70686481143962498486;
  points(1, 70) = 0.037588952157517757646;
  points(0, 71) = 0.25554623640285739627;
  points(1, 71) = 0.70686481143962509588;
  points(0, 72) = 0.037588952157517535602;
  points(1, 72) = 0.25554623640285761832;
  points(0, 73) = 0.074503129935386311344;
  points(1, 73) = 0.0043863301700616556464;
  points(0, 74) = 0.92111053989455204949;
  points(1, 74) = 0.074503129935386297467;
  points(0, 75) = 0.0043863301700617918222;
  points(1, 75) = 0.92111053989455216051;
  points(0, 76) = 0.92111053989455204949;
  points(1, 76) = 0.0043863301700616556464;
  points(0, 77) = 0.074503129935386380733;
  points(1, 77) = 0.92111053989455216051;
  points(0, 78) = 0.0043863301700613685496;
  points(1, 78) = 0.074503129935386616656;
  points(0, 79) = 0.41680727552365054445;
  points(1, 79) = 0.017273414324937119702;
  points(0, 80) = 0.56591931015141239136;
  points(1, 80) = 0.41680727552365059996;
  points(0, 81) = 0.01727341432493706419;
  points(1, 81) = 0.56591931015141250239;
  points(0, 82) = 0.56591931015141228034;
  points(1, 82) = 0.017273414324937119702;
  points(0, 83) = 0.41680727552365059996;
  points(1, 83) = 0.56591931015141239136;
  points(0, 84) = 0.017273414324937036435;
  points(1, 84) = 0.41680727552365076649;
  points(0, 85) = 0.19287172300619845333;
  points(1, 85) = 0.062578022014310910603;
  points(0, 86) = 0.74455025497949056668;
  points(1, 86) = 0.19287172300619845333;
  points(0, 87) = 0.062578022014310952237;
  points(1, 87) = 0.74455025497949078872;
  points(0, 88) = 0.7445502549794906777;
  points(1, 88) = 0.062578022014310910603;
  points(0, 89) = 0.19287172300619842558;
  points(1, 89) = 0.74455025497949078872;
  points(0, 90) = 0.062578022014310771826;
  points(1, 90) = 0.19287172300619873089;
  points(0, 91) = 0.047347818939552463458;
  points(1, 91) = 0.018407947031282931999;
  points(0, 92) = 0.93424423402916456638;
  points(1, 92) = 0.047347818939552442641;
  points(0, 93) = 0.018407947031283067307;
  points(1, 93) = 0.9342442340291646774;
  points(0, 94) = 0.93424423402916456638;
  points(1, 94) = 0.018407947031282931999;
  points(0, 95) = 0.047347818939552588358;
  points(1, 95) = 0.9342442340291646774;
  points(0, 96) = 0.018407947031282644035;
  points(1, 96) = 0.04734781893955282428;
  points(0, 97) = 0.21843649679092802529;
  points(1, 97) = 0.21843649679092821958;
  points(0, 98) = 0.56312700641814372737;
  points(1, 98) = 0.2184364967909280808;
  points(0, 99) = 0.21843649679092813631;
  points(1, 99) = 0.56312700641814394942;
  points(0, 100) = 0.1724507871838860118;
  points(1, 100) = 0.17245078718388620609;
  points(0, 101) = 0.65509842563222775436;
  points(1, 101) = 0.17245078718388606731;
  points(0, 102) = 0.17245078718388628936;
  points(1, 102) = 0.65509842563222786538;
  points(0, 103) = 0.05109518082238127118;
  points(1, 103) = 0.051095180822381555674;
  points(0, 104) = 0.89780963835523719396;
  points(1, 104) = 0.05109518082238127118;
  points(0, 105) = 0.051095180822381680574;
  points(1, 105) = 0.89780963835523730499;
  points(0, 106) = 0.34190500534752765738;
  points(1, 106) = 0.04290320894277144248;
  points(0, 107) = 0.61519178570970090014;
  points(1, 107) = 0.34190500534752765738;
  points(0, 108) = 0.04290320894277144248;
  points(1, 108) = 0.61519178570970112219;
  points(0, 109) = 0.61519178570970090014;
  points(1, 109) = 0.04290320894277144248;
  points(0, 110) = 0.3419050053475277684;
  points(1, 110) = 0.61519178570970090014;
  points(0, 111) = 0.042903208942771303702;
  points(1, 111) = 0.34190500534752793493;
  points(0, 112) = 0.32581395305750965319;
  points(1, 112) = 0.01318908377901570339;
  points(0, 113) = 0.66099696316347456015;
  points(1, 113) = 0.3258139530575097087;
  points(0, 114) = 0.013189083779015731146;
  points(1, 114) = 0.6609969631634747822;
  points(0, 115) = 0.66099696316347467118;
  points(1, 115) = 0.01318908377901570339;
  points(0, 116) = 0.32581395305750965319;
  points(1, 116) = 0.6609969631634747822;
  points(0, 117) = 0.013189083779015536857;
  points(1, 117) = 0.32581395305750998626;
  points(0, 118) = 0.28942594875713728575;
  points(1, 118) = 0.0011968816307095988139;
  points(0, 119) = 0.7093771696121531356;
  points(1, 119) = 0.28942594875713728575;
  points(0, 120) = 0.0011968816307095786478;
  points(1, 120) = 0.70937716961215335765;
  points(0, 121) = 0.7093771696121531356;
  points(1, 121) = 0.0011968816307095988139;
  points(0, 122) = 0.28942594875713723024;
  points(1, 122) = 0.70937716961215335765;
  points(0, 123) = 0.0011968816307094398699;
  points(1, 123) = 0.28942594875713750779;
  points(0, 124) = 0.29878979567601327005;
  points(1, 124) = 0.21913276143017684783;
  points(0, 125) = 0.48207744289380988212;
  points(1, 125) = 0.29878979567601338108;
  points(0, 126) = 0.21913276143017679232;
  points(1, 126) = 0.48207744289380993763;
  points(0, 127) = 0.48207744289380982661;
  points(1, 127) = 0.21913276143017684783;
  points(0, 128) = 0.29878979567601338108;
  points(1, 128) = 0.48207744289380993763;
  points(0, 129) = 0.21913276143017668129;
  points(1, 129) = 0.2987897956760134921;
  points(0, 130) = 0.27447574774279498433;
  points(1, 130) = 0.081129891569330966905;
  points(0, 131) = 0.64439436068787403489;
  points(1, 131) = 0.27447574774279503984;
  points(0, 132) = 0.081129891569330980783;
  points(1, 132) = 0.64439436068787425693;
  points(0, 133) = 0.64439436068787403489;
  points(1, 133) = 0.081129891569330966905;
  points(0, 134) = 0.27447574774279503984;
  points(1, 134) = 0.64439436068787414591;
  points(0, 135) = 0.081129891569330786494;
  points(1, 135) = 0.27447574774279520637;
  points(0, 136) = 0.35322987389141558001;
  points(1, 136) = 0.095278114482016826314;
  points(0, 137) = 0.5514920116265675798;
  points(1, 137) = 0.35322987389141569103;
  points(0, 138) = 0.095278114482016784681;
  points(1, 138) = 0.55149201162656769082;
  points(0, 139) = 0.5514920116265675798;
  points(1, 139) = 0.095278114482016826314;
  points(0, 140) = 0.35322987389141563552;
  points(1, 140) = 0.55149201162656769082;
  points(0, 141) = 0.095278114482016645903;
  points(1, 141) = 0.35322987389141585757;
  points(0, 142) = 0.49774862062647029504;
  points(1, 142) = 0.0045027587470594567648;
  points(0, 143) = 0.49774862062647029504;
  points(1, 143) = 0.49774862062647035055;
  points(0, 144) = 0.0045027587470594099273;
  points(1, 144) = 0.49774862062647051708;
  points(0, 145) = 0.26636788247507181548;
  points(1, 145) = 0.14688870800211190071;
  points(0, 146) = 0.58674340952281633932;
  points(1, 146) = 0.26636788247507181548;
  points(0, 147) = 0.1468887080021118452;
  points(1, 147) = 0.58674340952281656136;
  points(0, 148) = 0.5867434095228162283;
  points(1, 148) = 0.14688870800211190071;
  points(0, 149) = 0.26636788247507181548;
  points(1, 149) = 0.58674340952281633932;
  points(0, 150) = 0.14688870800211178969;
  points(1, 150) = 0.26636788247507203753;
  points(0, 151) = 0.38516846924568004518;
  points(1, 151) = 0.22966306150863990965;
  points(0, 152) = 0.38516846924568010069;
  points(1, 152) = 0.3851684692456801562;
  points(0, 153) = 0.22966306150863982638;
  points(1, 153) = 0.38516846924568021171;
  points(0, 154) = 0.29749149036799282797;
  points(1, 154) = 0.2974914903679929945;
  points(0, 155) = 0.40501701926401417753;
  points(1, 155) = 0.29749149036799293899;
  points(0, 156) = 0.29749149036799282797;
  points(1, 156) = 0.40501701926401434406;
  points(0, 157) = 0.096048152101051095797;
  points(1, 157) = 0.02753063007858749453;
  points(0, 158) = 0.87642121782036142008;
  points(1, 158) = 0.096048152101051068041;
  points(0, 159) = 0.027530630078587636778;
  points(1, 159) = 0.8764212178203615311;
  points(0, 160) = 0.87642121782036142008;
  points(1, 160) = 0.02753063007858749453;
  points(0, 161) = 0.096048152101051165186;
  points(1, 161) = 0.8764212178203615311;
  points(0, 162) = 0.027530630078587262077;
  points(1, 162) = 0.096048152101051414986;
  points(0, 163) = 0.0050828094627277369683;
  points(1, 163) = 0.0050828094627280466164;
  points(0, 164) = 0.98983438107454413402;
  points(1, 164) = 0.0050828094627277265599;
  points(0, 165) = 0.0050828094627282105478;
  points(1, 165) = 0.98983438107454424504;
  points(0, 166) = 0.16740782477835605691;
  points(1, 166) = 0.025875108219938169202;
  points(0, 167) = 0.80671706700170564552;
  points(1, 167) = 0.16740782477835605691;
  points(0, 168) = 0.025875108219938214305;
  points(1, 168) = 0.80671706700170597859;
  points(0, 169) = 0.80671706700170575655;
  points(1, 169) = 0.025875108219938169202;
  points(0, 170) = 0.16740782477835608466;
  points(1, 170) = 0.80671706700170597859;
  points(0, 171) = 0.025875108219937936749;
  points(1, 171) = 0.16740782477835636222;
  points(0, 172) = 0.45034094173901817459;
  points(1, 172) = 0.099318116521963650811;
  points(0, 173) = 0.45034094173901817459;
  points(1, 173) = 0.45034094173901828562;
  points(0, 174) = 0.099318116521963539789;
  points(1, 174) = 0.45034094173901839664;
  points(0, 175) = 0.13067763377028832061;
  points(1, 175) = 0.0057973186847398387039;
  points(0, 176) = 0.86352504754497172446;
  points(1, 176) = 0.13067763377028832061;
  points(0, 177) = 0.0057973186847399271748;
  points(1, 177) = 0.8635250475449719465;
  points(0, 178) = 0.86352504754497183548;
  points(1, 178) = 0.0057973186847398387039;
  points(0, 179) = 0.13067763377028845939;
  points(1, 179) = 0.8635250475449719465;
  points(0, 180) = 0.0057973186847396218635;
  points(1, 180) = 0.13067763377028868144;

  weights(0) = 0.0041715604069431826487;
  weights(1) = 0.0020219941982596812899;
  weights(2) = 0.0020219941982596812899;
  weights(3) = 0.0020219941982596812899;
  weights(4) = 0.002903146624181831767;
  weights(5) = 0.002903146624181831767;
  weights(6) = 0.002903146624181831767;
  weights(7) = 0.002903146624181831767;
  weights(8) = 0.002903146624181831767;
  weights(9) = 0.002903146624181831767;
  weights(10) = 0.0044215413215441534689;
  weights(11) = 0.0044215413215441534689;
  weights(12) = 0.0044215413215441534689;
  weights(13) = 0.00064192584938484761707;
  weights(14) = 0.00064192584938484761707;
  weights(15) = 0.00064192584938484761707;
  weights(16) = 0.00064192584938484761707;
  weights(17) = 0.00064192584938484761707;
  weights(18) = 0.00064192584938484761707;
  weights(19) = 0.0014132571379638684227;
  weights(20) = 0.0014132571379638684227;
  weights(21) = 0.0014132571379638684227;
  weights(22) = 0.0014132571379638684227;
  weights(23) = 0.0014132571379638684227;
  weights(24) = 0.0014132571379638684227;
  weights(25) = 0.0021118649255516138384;
  weights(26) = 0.0021118649255516138384;
  weights(27) = 0.0021118649255516138384;
  weights(28) = 0.00025275452343612896718;
  weights(29) = 0.00025275452343612896718;
  weights(30) = 0.00025275452343612896718;
  weights(31) = 0.00025275452343612896718;
  weights(32) = 0.00025275452343612896718;
  weights(33) = 0.00025275452343612896718;
  weights(34) = 0.00049343307251354133133;
  weights(35) = 0.00049343307251354133133;
  weights(36) = 0.00049343307251354133133;
  weights(37) = 0.00065134772448672531488;
  weights(38) = 0.00065134772448672531488;
  weights(39) = 0.00065134772448672531488;
  weights(40) = 0.00065134772448672531488;
  weights(41) = 0.00065134772448672531488;
  weights(42) = 0.00065134772448672531488;
  weights(43) = 0.0050962897221706344314;
  weights(44) = 0.0050962897221706344314;
  weights(45) = 0.0050962897221706344314;
  weights(46) = 0.0050962897221706344314;
  weights(47) = 0.0050962897221706344314;
  weights(48) = 0.0050962897221706344314;
  weights(49) = 0.0039334352478690663008;
  weights(50) = 0.0039334352478690663008;
  weights(51) = 0.0039334352478690663008;
  weights(52) = 0.0039334352478690663008;
  weights(53) = 0.0039334352478690663008;
  weights(54) = 0.0039334352478690663008;
  weights(55) = 0.0035604046207093936922;
  weights(56) = 0.0035604046207093936922;
  weights(57) = 0.0035604046207093936922;
  weights(58) = 0.0035604046207093936922;
  weights(59) = 0.0035604046207093936922;
  weights(60) = 0.0035604046207093936922;
  weights(61) = 0.002482057238253833082;
  weights(62) = 0.002482057238253833082;
  weights(63) = 0.002482057238253833082;
  weights(64) = 0.002482057238253833082;
  weights(65) = 0.002482057238253833082;
  weights(66) = 0.002482057238253833082;
  weights(67) = 0.0027182187365067749484;
  weights(68) = 0.0027182187365067749484;
  weights(69) = 0.0027182187365067749484;
  weights(70) = 0.0027182187365067749484;
  weights(71) = 0.0027182187365067749484;
  weights(72) = 0.0027182187365067749484;
  weights(73) = 0.00057629147004213036962;
  weights(74) = 0.00057629147004213036962;
  weights(75) = 0.00057629147004213036962;
  weights(76) = 0.00057629147004213036962;
  weights(77) = 0.00057629147004213036962;
  weights(78) = 0.00057629147004213036962;
  weights(79) = 0.0020891663459107639479;
  weights(80) = 0.0020891663459107639479;
  weights(81) = 0.0020891663459107639479;
  weights(82) = 0.0020891663459107639479;
  weights(83) = 0.0020891663459107639479;
  weights(84) = 0.0020891663459107639479;
  weights(85) = 0.0031812115264334365344;
  weights(86) = 0.0031812115264334365344;
  weights(87) = 0.0031812115264334365344;
  weights(88) = 0.0031812115264334365344;
  weights(89) = 0.0031812115264334365344;
  weights(90) = 0.0031812115264334365344;
  weights(91) = 0.00090638464414195471508;
  weights(92) = 0.00090638464414195471508;
  weights(93) = 0.00090638464414195471508;
  weights(94) = 0.00090638464414195471508;
  weights(95) = 0.00090638464414195471508;
  weights(96) = 0.00090638464414195471508;
  weights(97) = 0.005618501754006583436;
  weights(98) = 0.005618501754006583436;
  weights(99) = 0.005618501754006583436;
  weights(100) = 0.0047795979833642060486;
  weights(101) = 0.0047795979833642060486;
  weights(102) = 0.0047795979833642060486;
  weights(103) = 0.001629543325092884477;
  weights(104) = 0.001629543325092884477;
  weights(105) = 0.001629543325092884477;
  weights(106) = 0.0033449796225228107388;
  weights(107) = 0.0033449796225228107388;
  weights(108) = 0.0033449796225228107388;
  weights(109) = 0.0033449796225228107388;
  weights(110) = 0.0033449796225228107388;
  weights(111) = 0.0033449796225228107388;
  weights(112) = 0.0018198567424737189125;
  weights(113) = 0.0018198567424737189125;
  weights(114) = 0.0018198567424737189125;
  weights(115) = 0.0018198567424737189125;
  weights(116) = 0.0018198567424737189125;
  weights(117) = 0.0018198567424737189125;
  weights(118) = 0.00046468516884655869685;
  weights(119) = 0.00046468516884655869685;
  weights(120) = 0.00046468516884655869685;
  weights(121) = 0.00046468516884655869685;
  weights(122) = 0.00046468516884655869685;
  weights(123) = 0.00046468516884655869685;
  weights(124) = 0.0064477933939920926976;
  weights(125) = 0.0064477933939920926976;
  weights(126) = 0.0064477933939920926976;
  weights(127) = 0.0064477933939920926976;
  weights(128) = 0.0064477933939920926976;
  weights(129) = 0.0064477933939920926976;
  weights(130) = 0.0042379488585683067897;
  weights(131) = 0.0042379488585683067897;
  weights(132) = 0.0042379488585683067897;
  weights(133) = 0.0042379488585683067897;
  weights(134) = 0.0042379488585683067897;
  weights(135) = 0.0042379488585683067897;
  weights(136) = 0.0048111377658483587411;
  weights(137) = 0.0048111377658483587411;
  weights(138) = 0.0048111377658483587411;
  weights(139) = 0.0048111377658483587411;
  weights(140) = 0.0048111377658483587411;
  weights(141) = 0.0048111377658483587411;
  weights(142) = 0.0011638303210282151083;
  weights(143) = 0.0011638303210282151083;
  weights(144) = 0.0011638303210282151083;
  weights(145) = 0.0057998345156928072727;
  weights(146) = 0.0057998345156928072727;
  weights(147) = 0.0057998345156928072727;
  weights(148) = 0.0057998345156928072727;
  weights(149) = 0.0057998345156928072727;
  weights(150) = 0.0057998345156928072727;
  weights(151) = 0.006869697598284127231;
  weights(152) = 0.006869697598284127231;
  weights(153) = 0.006869697598284127231;
  weights(154) = 0.0061795202546734472396;
  weights(155) = 0.0061795202546734472396;
  weights(156) = 0.0061795202546734472396;
  weights(157) = 0.0018332933524634216754;
  weights(158) = 0.0018332933524634216754;
  weights(159) = 0.0018332933524634216754;
  weights(160) = 0.0018332933524634216754;
  weights(161) = 0.0018332933524634216754;
  weights(162) = 0.0018332933524634216754;
  weights(163) = 0.00017220068963629044123;
  weights(164) = 0.00017220068963629044123;
  weights(165) = 0.00017220068963629044123;
  weights(166) = 0.0022226689956261992329;
  weights(167) = 0.0022226689956261992329;
  weights(168) = 0.0022226689956261992329;
  weights(169) = 0.0022226689956261992329;
  weights(170) = 0.0022226689956261992329;
  weights(171) = 0.0022226689956261992329;
  weights(172) = 0.0052169886478902870869;
  weights(173) = 0.0052169886478902870869;
  weights(174) = 0.0052169886478902870869;
  weights(175) = 0.00091062639206123557369;
  weights(176) = 0.00091062639206123557369;
  weights(177) = 0.00091062639206123557369;
  weights(178) = 0.00091062639206123557369;
  weights(179) = 0.00091062639206123557369;
  weights(180) = 0.00091062639206123557369;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 31);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 32>() { // NOLINT
  Eigen::MatrixXd points(2, 193);
  Eigen::VectorXd weights(193);

  points(0, 0) = 0.0014574454623698556485;
  points(1, 0) = 0.0014574454623701650798;
  points(0, 1) = 0.99708510907525993439;
  points(1, 1) = 0.0014574454623698445896;
  points(0, 2) = 0.0014574454623703103628;
  points(1, 2) = 0.99708510907526004541;
  points(0, 3) = 0.20683168631590201358;
  points(1, 3) = 0.15886794122904673854;
  points(0, 4) = 0.63430037245505122012;
  points(1, 4) = 0.20683168631590209685;
  points(0, 5) = 0.15886794122904668303;
  points(1, 5) = 0.63430037245505144217;
  points(0, 6) = 0.63430037245505122012;
  points(1, 6) = 0.15886794122904673854;
  points(0, 7) = 0.20683168631590204134;
  points(1, 7) = 0.63430037245505144217;
  points(0, 8) = 0.15886794122904651649;
  points(1, 8) = 0.20683168631590229114;
  points(0, 9) = 0.44676142653316702757;
  points(1, 9) = 0.014766442430854658657;
  points(0, 10) = 0.53847213103597835193;
  points(1, 10) = 0.44676142653316708309;
  points(0, 11) = 0.014766442430854620493;
  points(1, 11) = 0.53847213103597857398;
  points(0, 12) = 0.53847213103597835193;
  points(1, 12) = 0.014766442430854658657;
  points(0, 13) = 0.44676142653316708309;
  points(1, 13) = 0.53847213103597835193;
  points(0, 14) = 0.014766442430854564982;
  points(1, 14) = 0.44676142653316730513;
  points(0, 15) = 0.49865089357884734289;
  points(1, 15) = 0.0026982128423053645255;
  points(0, 16) = 0.49865089357884728738;
  points(1, 16) = 0.4986508935788473984;
  points(0, 17) = 0.002698212842305286463;
  points(1, 17) = 0.49865089357884756494;
  points(0, 18) = 0.23246620764637868084;
  points(1, 18) = 0.051431127240233069642;
  points(0, 19) = 0.71610266511338815931;
  points(1, 19) = 0.2324662076463787086;
  points(0, 20) = 0.051431127240233076581;
  points(1, 20) = 0.71610266511338849238;
  points(0, 21) = 0.71610266511338827033;
  points(1, 21) = 0.051431127240233069642;
  points(0, 22) = 0.2324662076463787086;
  points(1, 22) = 0.71610266511338838136;
  points(0, 23) = 0.051431127240232840658;
  points(1, 23) = 0.2324662076463789584;
  points(0, 24) = 0.11683492670695794224;
  points(1, 24) = 0.019559740364592393541;
  points(0, 25) = 0.86360533292844965381;
  points(1, 25) = 0.11683492670695792837;
  points(0, 26) = 0.019559740364592459461;
  points(1, 26) = 0.86360533292844976483;
  points(0, 27) = 0.86360533292844965381;
  points(1, 27) = 0.019559740364592393541;
  points(0, 28) = 0.11683492670695799776;
  points(1, 28) = 0.86360533292844976483;
  points(0, 29) = 0.019559740364592126394;
  points(1, 29) = 0.11683492670695827531;
  points(0, 30) = 0.32824054584493400633;
  points(1, 30) = 0.012618566750157206649;
  points(0, 31) = 0.65914088740490883733;
  points(1, 31) = 0.32824054584493406184;
  points(0, 32) = 0.012618566750157267364;
  points(1, 32) = 0.65914088740490894835;
  points(0, 33) = 0.65914088740490872631;
  points(1, 33) = 0.012618566750157206649;
  points(0, 34) = 0.32824054584493400633;
  points(1, 34) = 0.65914088740490894835;
  points(0, 35) = 0.01261856675015704532;
  points(1, 35) = 0.32824054584493433939;
  points(0, 36) = 0.25935093200312014927;
  points(1, 36) = 0.021062156675639220199;
  points(0, 37) = 0.71958691132124064094;
  points(1, 37) = 0.25935093200312020478;
  points(0, 38) = 0.021062156675639265302;
  points(1, 38) = 0.71958691132124075196;
  points(0, 39) = 0.71958691132124052992;
  points(1, 39) = 0.021062156675639220199;
  points(0, 40) = 0.25935093200312026029;
  points(1, 40) = 0.71958691132124064094;
  points(0, 41) = 0.021062156675639126524;
  points(1, 41) = 0.25935093200312048234;
  points(0, 42) = 0.16546399823734952994;
  points(1, 42) = 0.11754350925434797759;
  points(0, 43) = 0.71699249250830243696;
  points(1, 43) = 0.1654639982373495577;
  points(0, 44) = 0.1175435092543480331;
  points(1, 44) = 0.71699249250830254798;
  points(0, 45) = 0.71699249250830243696;
  points(1, 45) = 0.11754350925434797759;
  points(0, 46) = 0.16546399823734958545;
  points(1, 46) = 0.716992492508302659;
  points(0, 47) = 0.11754350925434771391;
  points(1, 47) = 0.16546399823734977974;
  points(0, 48) = 0.38246490738093724682;
  points(1, 48) = 0.029298850540485227301;
  points(0, 49) = 0.58823624207857760915;
  points(1, 49) = 0.38246490738093724682;
  points(0, 50) = 0.029298850540485199545;
  points(1, 50) = 0.58823624207857772017;
  points(0, 51) = 0.58823624207857749813;
  points(1, 51) = 0.029298850540485227301;
  points(0, 52) = 0.38246490738093730233;
  points(1, 52) = 0.58823624207857760915;
  points(0, 53) = 0.029298850540485116278;
  points(1, 53) = 0.38246490738093746886;
  points(0, 54) = 0.39781707264672083735;
  points(1, 54) = 0.0034428216522743556108;
  points(0, 55) = 0.59874010570100477668;
  points(1, 55) = 0.39781707264672089286;
  points(0, 56) = 0.0034428216522743304573;
  points(1, 56) = 0.59874010570100499873;
  points(0, 57) = 0.59874010570100477668;
  points(1, 57) = 0.0034428216522743556108;
  points(0, 58) = 0.39781707264672083735;
  points(1, 58) = 0.59874010570100488771;
  points(0, 59) = 0.0034428216522741916794;
  points(1, 59) = 0.3978170726467211149;
  points(0, 60) = 0.48116811599583675374;
  points(1, 60) = 0.037663768008326464765;
  points(0, 61) = 0.48116811599583686476;
  points(1, 61) = 0.48116811599583680925;
  points(0, 62) = 0.037663768008326381498;
  points(1, 62) = 0.48116811599583697578;
  points(0, 63) = 0.32541746964669010511;
  points(1, 63) = 0.090370281144864256229;
  points(0, 64) = 0.5842122492084456109;
  points(1, 64) = 0.32541746964669021613;
  points(0, 65) = 0.090370281144864283984;
  points(1, 65) = 0.58421224920844572193;
  points(0, 66) = 0.5842122492084456109;
  points(1, 66) = 0.090370281144864256229;
  points(0, 67) = 0.32541746964669010511;
  points(1, 67) = 0.58421224920844572193;
  points(0, 68) = 0.090370281144864089695;
  points(1, 68) = 0.32541746964669032716;
  points(0, 69) = 0.45228575651160052296;
  points(1, 69) = 0.095428486976798995722;
  points(0, 70) = 0.45228575651160052296;
  points(1, 70) = 0.45228575651160057847;
  points(0, 71) = 0.095428486976798898578;
  points(1, 71) = 0.452285756511600745;
  points(0, 72) = 0.11333919148760307483;
  points(1, 72) = 0.050697635926740473866;
  points(0, 73) = 0.83596317258565644437;
  points(1, 73) = 0.11333919148760303319;
  points(0, 74) = 0.050697635926740647339;
  points(1, 74) = 0.83596317258565655539;
  points(0, 75) = 0.83596317258565655539;
  points(1, 75) = 0.050697635926740473866;
  points(0, 76) = 0.11333919148760313034;
  points(1, 76) = 0.83596317258565655539;
  points(0, 77) = 0.050697635926740272638;
  points(1, 77) = 0.11333919148760338014;
  points(0, 78) = 0.31104163282764174525;
  points(1, 78) = 0.047944478915561798693;
  points(0, 79) = 0.64101388825679650463;
  points(1, 79) = 0.31104163282764180076;
  points(0, 80) = 0.047944478915561805632;
  points(1, 80) = 0.64101388825679661565;
  points(0, 81) = 0.64101388825679650463;
  points(1, 81) = 0.047944478915561798693;
  points(0, 82) = 0.31104163282764174525;
  points(1, 82) = 0.64101388825679661565;
  points(0, 83) = 0.04794447891556169461;
  points(1, 83) = 0.3110416328276419673;
  points(0, 84) = 0.29883713538891298889;
  points(1, 84) = 0.0012766573802798491123;
  points(0, 85) = 0.69988620723080718911;
  points(1, 85) = 0.29883713538891298889;
  points(0, 86) = 0.0012766573802798775183;
  points(1, 86) = 0.69988620723080730013;
  points(0, 87) = 0.69988620723080718911;
  points(1, 87) = 0.0012766573802798491123;
  points(0, 88) = 0.2988371353889130444;
  points(1, 88) = 0.69988620723080730013;
  points(0, 89) = 0.0012766573802796832293;
  points(1, 89) = 0.29883713538891326644;
  points(0, 90) = 0.37632875804791898755;
  points(1, 90) = 0.24734248390416208041;
  points(0, 91) = 0.37632875804791898755;
  points(1, 91) = 0.37632875804791909857;
  points(0, 92) = 0.24734248390416196939;
  points(1, 92) = 0.37632875804791909857;
  points(0, 93) = 0.15211228094378378972;
  points(1, 93) = 0.0042625634151116000709;
  points(0, 94) = 0.84362515564110462929;
  points(1, 94) = 0.15211228094378381748;
  points(0, 95) = 0.0042625634151116087445;
  points(1, 95) = 0.84362515564110485133;
  points(0, 96) = 0.84362515564110451827;
  points(1, 96) = 0.0042625634151116000709;
  points(0, 97) = 0.15211228094378376197;
  points(1, 97) = 0.84362515564110485133;
  points(0, 98) = 0.0042625634151113311887;
  points(1, 98) = 0.15211228094378415054;
  points(0, 99) = 0.088661705033911519802;
  points(1, 99) = 0.0038525119887190552824;
  points(0, 100) = 0.90748578297736937071;
  points(1, 100) = 0.088661705033911478169;
  points(0, 101) = 0.0038525119887191650037;
  points(1, 101) = 0.90748578297736959275;
  points(0, 102) = 0.90748578297736937071;
  points(1, 102) = 0.0038525119887190552824;
  points(0, 103) = 0.088661705033911519802;
  points(1, 103) = 0.90748578297736959275;
  points(0, 104) = 0.0038525119887188111201;
  points(1, 104) = 0.088661705033911838991;
  points(0, 105) = 0.2830182798495731733;
  points(1, 105) = 0.28301827984957333983;
  points(0, 106) = 0.43396344030085354238;
  points(1, 106) = 0.28301827984957322881;
  points(0, 107) = 0.28301827984957328432;
  points(1, 107) = 0.4339634403008536534;
  points(0, 108) = 0.31915258059306050864;
  points(1, 108) = 0.20190014863247668364;
  points(0, 109) = 0.47894727077446275221;
  points(1, 109) = 0.31915258059306061966;
  points(0, 110) = 0.20190014863247660037;
  points(1, 110) = 0.47894727077446291874;
  points(0, 111) = 0.47894727077446275221;
  points(1, 111) = 0.20190014863247668364;
  points(0, 112) = 0.31915258059306050864;
  points(1, 112) = 0.47894727077446291874;
  points(0, 113) = 0.20190014863247657262;
  points(1, 113) = 0.31915258059306073068;
  points(0, 114) = 0.41367978432541335776;
  points(1, 114) = 0.17264043134917328448;
  points(0, 115) = 0.41367978432541341327;
  points(1, 115) = 0.41367978432541341327;
  points(0, 116) = 0.17264043134917320121;
  points(1, 116) = 0.4136797843254135798;
  points(0, 117) = 0.16675569358213332416;
  points(1, 117) = 0.067710393221269163377;
  points(0, 118) = 0.76553391319659758185;
  points(1, 118) = 0.16675569358213332416;
  points(0, 119) = 0.067710393221269205011;
  points(1, 119) = 0.76553391319659769287;
  points(0, 120) = 0.76553391319659747083;
  points(1, 120) = 0.067710393221269163377;
  points(0, 121) = 0.16675569358213337967;
  points(1, 121) = 0.76553391319659769287;
  points(0, 122) = 0.067710393221268941333;
  points(1, 122) = 0.16675569358213357396;
  points(0, 123) = 0.030269191040444162755;
  points(1, 123) = 0.030269191040444478474;
  points(0, 124) = 0.93946161791911120265;
  points(1, 124) = 0.030269191040444159285;
  points(0, 125) = 0.030269191040444565211;
  points(1, 125) = 0.93946161791911153571;
  points(0, 126) = 0.012810196480111807338;
  points(1, 126) = 0.012810196480112110914;
  points(0, 127) = 0.97437960703977610777;
  points(1, 127) = 0.012810196480111789991;
  points(0, 128) = 0.012810196480112279183;
  points(1, 128) = 0.97437960703977610777;
  points(0, 129) = 0.24213792401943279309;
  points(1, 129) = 0.095572417110654533934;
  points(0, 130) = 0.66228965886991264522;
  points(1, 130) = 0.2421379240194328486;
  points(0, 131) = 0.095572417110654450667;
  points(1, 131) = 0.66228965886991297829;
  points(0, 132) = 0.66228965886991264522;
  points(1, 132) = 0.095572417110654533934;
  points(0, 133) = 0.24213792401943290411;
  points(1, 133) = 0.66228965886991275624;
  points(0, 134) = 0.095572417110654381278;
  points(1, 134) = 0.24213792401943304289;
  points(0, 135) = 0.2798617479978297018;
  points(1, 135) = 0.15037086457345827384;
  points(0, 136) = 0.56976738742871191334;
  points(1, 136) = 0.27986174799782981282;
  points(0, 137) = 0.15037086457345827384;
  points(1, 137) = 0.56976738742871213539;
  points(0, 138) = 0.56976738742871202437;
  points(1, 138) = 0.15037086457345827384;
  points(0, 139) = 0.2798617479978297018;
  points(1, 139) = 0.56976738742871213539;
  points(0, 140) = 0.15037086457345810731;
  points(1, 140) = 0.27986174799782992384;
  points(0, 141) = 0.067398400207256653482;
  points(1, 141) = 0.024349850684587122374;
  points(0, 142) = 0.90825174910815631435;
  points(1, 142) = 0.067398400207256625727;
  points(0, 143) = 0.024349850684587281968;
  points(1, 143) = 0.90825174910815631435;
  points(0, 144) = 0.90825174910815620333;
  points(1, 144) = 0.024349850684587122374;
  points(0, 145) = 0.067398400207256736749;
  points(1, 145) = 0.90825174910815631435;
  points(0, 146) = 0.024349850684586844818;
  points(1, 146) = 0.067398400207256944916;
  points(0, 147) = 0.37168796669342035743;
  points(1, 147) = 0.12938786736692342583;
  points(0, 148) = 0.49892416593965621674;
  points(1, 148) = 0.37168796669342041294;
  points(0, 149) = 0.12938786736692339807;
  points(1, 149) = 0.49892416593965643878;
  points(0, 150) = 0.49892416593965621674;
  points(1, 150) = 0.12938786736692342583;
  points(0, 151) = 0.37168796669342030192;
  points(1, 151) = 0.49892416593965638327;
  points(0, 152) = 0.1293878673669233148;
  points(1, 152) = 0.37168796669342052397;
  points(0, 153) = 0.40562814906588284813;
  points(1, 153) = 0.063227420456501232104;
  points(0, 154) = 0.53114443047761594752;
  points(1, 154) = 0.40562814906588290365;
  points(0, 155) = 0.063227420456501204349;
  points(1, 155) = 0.53114443047761605854;
  points(0, 156) = 0.53114443047761594752;
  points(1, 156) = 0.063227420456501232104;
  points(0, 157) = 0.40562814906588290365;
  points(1, 157) = 0.53114443047761594752;
  points(0, 158) = 0.063227420456501148838;
  points(1, 158) = 0.40562814906588307018;
  points(0, 159) = 0.33333333333333325932;
  points(1, 159) = 0.33333333333333342585;
  points(0, 160) = 0.062010649826264224727;
  points(1, 160) = 0.062010649826264530038;
  points(0, 161) = 0.87597870034747116197;
  points(1, 161) = 0.062010649826264210849;
  points(0, 162) = 0.06201064982626464106;
  points(1, 162) = 0.87597870034747138401;
  points(0, 163) = 0.22198016573748102775;
  points(1, 163) = 0.0052666330207657725132;
  points(0, 164) = 0.77275320124175328473;
  points(1, 164) = 0.22198016573748102775;
  points(0, 165) = 0.0052666330207657430229;
  points(1, 165) = 0.77275320124175350678;
  points(0, 166) = 0.77275320124175317371;
  points(1, 166) = 0.0052666330207657725132;
  points(0, 167) = 0.22198016573748113878;
  points(1, 167) = 0.77275320124175328473;
  points(0, 168) = 0.0052666330207655764895;
  points(1, 168) = 0.22198016573748136082;
  points(0, 169) = 0.17832568203786294814;
  points(1, 169) = 0.026158881979651049665;
  points(0, 170) = 0.79551543598248597444;
  points(1, 170) = 0.17832568203786297589;
  points(0, 171) = 0.026158881979651105176;
  points(1, 171) = 0.79551543598248619649;
  points(0, 172) = 0.79551543598248597444;
  points(1, 172) = 0.026158881979651049665;
  points(0, 173) = 0.17832568203786297589;
  points(1, 173) = 0.79551543598248619649;
  points(0, 174) = 0.026158881979650855376;
  points(1, 174) = 0.17832568203786319794;
  points(0, 175) = 0.042622190591409508942;
  points(1, 175) = 0.0055547678704322414264;
  points(0, 176) = 0.95182304153815822101;
  points(1, 176) = 0.042622190591409474247;
  points(0, 177) = 0.0055547678704323533161;
  points(1, 177) = 0.95182304153815844305;
  points(0, 178) = 0.95182304153815833203;
  points(1, 178) = 0.0055547678704322414264;
  points(0, 179) = 0.042622190591409536697;
  points(1, 179) = 0.95182304153815844305;
  points(0, 180) = 0.0055547678704319959631;
  points(1, 180) = 0.042622190591409862825;
  points(0, 181) = 0.22927799692806988263;
  points(1, 181) = 0.22927799692807013243;
  points(0, 182) = 0.54144400614385990167;
  points(1, 182) = 0.22927799692806999365;
  points(0, 183) = 0.22927799692807010468;
  points(1, 183) = 0.54144400614386001269;
  points(0, 184) = 0.1019588269002695835;
  points(1, 184) = 0.10195882690026981943;
  points(0, 185) = 0.79608234619946049992;
  points(1, 185) = 0.10195882690026956963;
  points(0, 186) = 0.10195882690026986106;
  points(1, 186) = 0.79608234619946072197;
  points(0, 187) = 0.014344300379280378738;
  points(1, 187) = 0.00062309802034506958559;
  points(0, 188) = 0.98503260160037453552;
  points(1, 188) = 0.014344300379280354452;
  points(0, 189) = 0.00062309802034532513204;
  points(1, 189) = 0.98503260160037453552;
  points(0, 190) = 0.98503260160037464654;
  points(1, 190) = 0.00062309802034506958559;
  points(0, 191) = 0.014344300379280583435;
  points(1, 191) = 0.98503260160037453552;
  points(0, 192) = 0.00062309802034480298027;
  points(1, 192) = 0.01434430037928073956;

  weights(0) = 2.666195116670808392e-05;
  weights(1) = 2.666195116670808392e-05;
  weights(2) = 2.666195116670808392e-05;
  weights(3) = 0.0041746095647689730398;
  weights(4) = 0.0041746095647689730398;
  weights(5) = 0.0041746095647689730398;
  weights(6) = 0.0041746095647689730398;
  weights(7) = 0.0041746095647689730398;
  weights(8) = 0.0041746095647689730398;
  weights(9) = 0.0015203261288865006599;
  weights(10) = 0.0015203261288865006599;
  weights(11) = 0.0015203261288865006599;
  weights(12) = 0.0015203261288865006599;
  weights(13) = 0.0015203261288865006599;
  weights(14) = 0.0015203261288865006599;
  weights(15) = 0.0007073136238314204358;
  weights(16) = 0.0007073136238314204358;
  weights(17) = 0.0007073136238314204358;
  weights(18) = 0.0026430218012662427644;
  weights(19) = 0.0026430218012662427644;
  weights(20) = 0.0026430218012662427644;
  weights(21) = 0.0026430218012662427644;
  weights(22) = 0.0026430218012662427644;
  weights(23) = 0.0026430218012662427644;
  weights(24) = 0.0012466349623345357803;
  weights(25) = 0.0012466349623345357803;
  weights(26) = 0.0012466349623345357803;
  weights(27) = 0.0012466349623345357803;
  weights(28) = 0.0012466349623345357803;
  weights(29) = 0.0012466349623345357803;
  weights(30) = 0.0015102905283568147498;
  weights(31) = 0.0015102905283568147498;
  weights(32) = 0.0015102905283568147498;
  weights(33) = 0.0015102905283568147498;
  weights(34) = 0.0015102905283568147498;
  weights(35) = 0.0015102905283568147498;
  weights(36) = 0.0018220877884380926037;
  weights(37) = 0.0018220877884380926037;
  weights(38) = 0.0018220877884380926037;
  weights(39) = 0.0018220877884380926037;
  weights(40) = 0.0018220877884380926037;
  weights(41) = 0.0018220877884380926037;
  weights(42) = 0.0037405448495800817932;
  weights(43) = 0.0037405448495800817932;
  weights(44) = 0.0037405448495800817932;
  weights(45) = 0.0037405448495800817932;
  weights(46) = 0.0037405448495800817932;
  weights(47) = 0.0037405448495800817932;
  weights(48) = 0.002284077067786009687;
  weights(49) = 0.002284077067786009687;
  weights(50) = 0.002284077067786009687;
  weights(51) = 0.002284077067786009687;
  weights(52) = 0.002284077067786009687;
  weights(53) = 0.002284077067786009687;
  weights(54) = 0.00084260182026714479462;
  weights(55) = 0.00084260182026714479462;
  weights(56) = 0.00084260182026714479462;
  weights(57) = 0.00084260182026714479462;
  weights(58) = 0.00084260182026714479462;
  weights(59) = 0.00084260182026714479462;
  weights(60) = 0.0027900075712066377091;
  weights(61) = 0.0027900075712066377091;
  weights(62) = 0.0027900075712066377091;
  weights(63) = 0.0041046033232396573337;
  weights(64) = 0.0041046033232396573337;
  weights(65) = 0.0041046033232396573337;
  weights(66) = 0.0041046033232396573337;
  weights(67) = 0.0041046033232396573337;
  weights(68) = 0.0041046033232396573337;
  weights(69) = 0.0041892953520631260461;
  weights(70) = 0.0041892953520631260461;
  weights(71) = 0.0041892953520631260461;
  weights(72) = 0.0022328384238099689002;
  weights(73) = 0.0022328384238099689002;
  weights(74) = 0.0022328384238099689002;
  weights(75) = 0.0022328384238099689002;
  weights(76) = 0.0022328384238099689002;
  weights(77) = 0.0022328384238099689002;
  weights(78) = 0.0031014173607614241822;
  weights(79) = 0.0031014173607614241822;
  weights(80) = 0.0031014173607614241822;
  weights(81) = 0.0031014173607614241822;
  weights(82) = 0.0031014173607614241822;
  weights(83) = 0.0031014173607614241822;
  weights(84) = 0.00044444627157596384515;
  weights(85) = 0.00044444627157596384515;
  weights(86) = 0.00044444627157596384515;
  weights(87) = 0.00044444627157596384515;
  weights(88) = 0.00044444627157596384515;
  weights(89) = 0.00044444627157596384515;
  weights(90) = 0.0063306472802430215074;
  weights(91) = 0.0063306472802430215074;
  weights(92) = 0.0063306472802430215074;
  weights(93) = 0.00074261466459258447179;
  weights(94) = 0.00074261466459258447179;
  weights(95) = 0.00074261466459258447179;
  weights(96) = 0.00074261466459258447179;
  weights(97) = 0.00074261466459258447179;
  weights(98) = 0.00074261466459258447179;
  weights(99) = 0.00055635317279531884289;
  weights(100) = 0.00055635317279531884289;
  weights(101) = 0.00055635317279531884289;
  weights(102) = 0.00055635317279531884289;
  weights(103) = 0.00055635317279531884289;
  weights(104) = 0.00055635317279531884289;
  weights(105) = 0.0064413665885876877221;
  weights(106) = 0.0064413665885876877221;
  weights(107) = 0.0064413665885876877221;
  weights(108) = 0.0059866795512413936362;
  weights(109) = 0.0059866795512413936362;
  weights(110) = 0.0059866795512413936362;
  weights(111) = 0.0059866795512413936362;
  weights(112) = 0.0059866795512413936362;
  weights(113) = 0.0059866795512413936362;
  weights(114) = 0.0054402330134671302367;
  weights(115) = 0.0054402330134671302367;
  weights(116) = 0.0054402330134671302367;
  weights(117) = 0.00294115803140993122;
  weights(118) = 0.00294115803140993122;
  weights(119) = 0.00294115803140993122;
  weights(120) = 0.00294115803140993122;
  weights(121) = 0.00294115803140993122;
  weights(122) = 0.00294115803140993122;
  weights(123) = 0.00092963912659694593332;
  weights(124) = 0.00092963912659694593332;
  weights(125) = 0.00092963912659694593332;
  weights(126) = 0.00040087052583653729268;
  weights(127) = 0.00040087052583653729268;
  weights(128) = 0.00040087052583653729268;
  weights(129) = 0.0042243717359755662832;
  weights(130) = 0.0042243717359755662832;
  weights(131) = 0.0042243717359755662832;
  weights(132) = 0.0042243717359755662832;
  weights(133) = 0.0042243717359755662832;
  weights(134) = 0.0042243717359755662832;
  weights(135) = 0.005105727958183045069;
  weights(136) = 0.005105727958183045069;
  weights(137) = 0.005105727958183045069;
  weights(138) = 0.005105727958183045069;
  weights(139) = 0.005105727958183045069;
  weights(140) = 0.005105727958183045069;
  weights(141) = 0.0012449795766082643982;
  weights(142) = 0.0012449795766082643982;
  weights(143) = 0.0012449795766082643982;
  weights(144) = 0.0012449795766082643982;
  weights(145) = 0.0012449795766082643982;
  weights(146) = 0.0012449795766082643982;
  weights(147) = 0.0049442528275111460867;
  weights(148) = 0.0049442528275111460867;
  weights(149) = 0.0049442528275111460867;
  weights(150) = 0.0049442528275111460867;
  weights(151) = 0.0049442528275111460867;
  weights(152) = 0.0049442528275111460867;
  weights(153) = 0.0037045565714682506669;
  weights(154) = 0.0037045565714682506669;
  weights(155) = 0.0037045565714682506669;
  weights(156) = 0.0037045565714682506669;
  weights(157) = 0.0037045565714682506669;
  weights(158) = 0.0037045565714682506669;
  weights(159) = 0.006515035497881294102;
  weights(160) = 0.0019881742974626821947;
  weights(161) = 0.0019881742974626821947;
  weights(162) = 0.0019881742974626821947;
  weights(163) = 0.00097279662049153451091;
  weights(164) = 0.00097279662049153451091;
  weights(165) = 0.00097279662049153451091;
  weights(166) = 0.00097279662049153451091;
  weights(167) = 0.00097279662049153451091;
  weights(168) = 0.00097279662049153451091;
  weights(169) = 0.0021304182982500841602;
  weights(170) = 0.0021304182982500841602;
  weights(171) = 0.0021304182982500841602;
  weights(172) = 0.0021304182982500841602;
  weights(173) = 0.0021304182982500841602;
  weights(174) = 0.0021304182982500841602;
  weights(175) = 0.00052768718480880898083;
  weights(176) = 0.00052768718480880898083;
  weights(177) = 0.00052768718480880898083;
  weights(178) = 0.00052768718480880898083;
  weights(179) = 0.00052768718480880898083;
  weights(180) = 0.00052768718480880898083;
  weights(181) = 0.0062677988628244470787;
  weights(182) = 0.0062677988628244470787;
  weights(183) = 0.0062677988628244470787;
  weights(184) = 0.0033146995575295801727;
  weights(185) = 0.0033146995575295801727;
  weights(186) = 0.0033146995575295801727;
  weights(187) = 8.5044123871244053253e-05;
  weights(188) = 8.5044123871244053253e-05;
  weights(189) = 8.5044123871244053253e-05;
  weights(190) = 8.5044123871244053253e-05;
  weights(191) = 8.5044123871244053253e-05;
  weights(192) = 8.5044123871244053253e-05;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 32);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 33>() { // NOLINT
  Eigen::MatrixXd points(2, 204);
  Eigen::VectorXd weights(204);

  points(0, 0) = 0.086684239934569640162;
  points(1, 0) = 0.086684239934569876085;
  points(0, 1) = 0.82663152013086049763;
  points(1, 1) = 0.086684239934569626285;
  points(0, 2) = 0.086684239934569917718;
  points(1, 2) = 0.82663152013086060865;
  points(0, 3) = 0.40942796080264332037;
  points(1, 3) = 0.1811440783947133315;
  points(0, 4) = 0.40942796080264332037;
  points(1, 4) = 0.40942796080264343139;
  points(0, 5) = 0.18114407839471319273;
  points(1, 5) = 0.40942796080264354242;
  points(0, 6) = 0.25815292878950674149;
  points(1, 6) = 0.086928635963287037569;
  points(0, 7) = 0.65491843524720627645;
  points(1, 7) = 0.258152928789506797;
  points(0, 8) = 0.086928635963287037569;
  points(1, 8) = 0.65491843524720638747;
  points(0, 9) = 0.65491843524720627645;
  points(1, 9) = 0.086928635963287037569;
  points(0, 10) = 0.258152928789506797;
  points(1, 10) = 0.65491843524720638747;
  points(0, 11) = 0.086928635963286871036;
  points(1, 11) = 0.25815292878950701905;
  points(0, 12) = 0.28496240197208289047;
  points(1, 12) = 0.11409203532283135329;
  points(0, 13) = 0.60094556270508570073;
  points(1, 13) = 0.28496240197208294598;
  points(0, 14) = 0.11409203532283135329;
  points(1, 14) = 0.60094556270508592277;
  points(0, 15) = 0.60094556270508570073;
  points(1, 15) = 0.11409203532283135329;
  points(0, 16) = 0.28496240197208289047;
  points(1, 16) = 0.60094556270508592277;
  points(0, 17) = 0.11409203532283118676;
  points(1, 17) = 0.28496240197208311251;
  points(0, 18) = 0.3783335382962427218;
  points(1, 18) = 0.24333292340751458416;
  points(0, 19) = 0.37833353829624266629;
  points(1, 19) = 0.37833353829624283282;
  points(0, 20) = 0.24333292340751447314;
  points(1, 20) = 0.37833353829624288833;
  points(0, 21) = 0.49897971786005118622;
  points(1, 21) = 0.0020405642798976492483;
  points(0, 22) = 0.49897971786005124173;
  points(1, 22) = 0.49897971786005129724;
  points(0, 23) = 0.0020405642798975998087;
  points(1, 23) = 0.49897971786005140826;
  points(0, 24) = 0.13406763384193412514;
  points(1, 24) = 0.091665331440051220357;
  points(0, 25) = 0.77426703471801461287;
  points(1, 25) = 0.13406763384193415289;
  points(0, 26) = 0.091665331440051234235;
  points(1, 26) = 0.77426703471801483492;
  points(0, 27) = 0.77426703471801461287;
  points(1, 27) = 0.091665331440051220357;
  points(0, 28) = 0.13406763384193415289;
  points(1, 28) = 0.77426703471801483492;
  points(0, 29) = 0.091665331440050998313;
  points(1, 29) = 0.13406763384193445821;
  points(0, 30) = 0.32691375020967156084;
  points(1, 30) = 0.21593939124341565705;
  points(0, 31) = 0.4571468585469127266;
  points(1, 31) = 0.32691375020967167186;
  points(0, 32) = 0.21593939124341560154;
  points(1, 32) = 0.45714685854691294864;
  points(0, 33) = 0.45714685854691278211;
  points(1, 33) = 0.21593939124341565705;
  points(0, 34) = 0.32691375020967150533;
  points(1, 34) = 0.45714685854691289313;
  points(0, 35) = 0.21593939124341554603;
  points(1, 35) = 0.32691375020967172738;
  points(0, 36) = 0.25966066800872111831;
  points(1, 36) = 0.25966066800872128484;
  points(0, 37) = 0.48067866398255754135;
  points(1, 37) = 0.25966066800872122933;
  points(0, 38) = 0.25966066800872128484;
  points(1, 38) = 0.48067866398255765237;
  points(0, 39) = 0.1008457159827755717;
  points(1, 39) = 0.022390316286583538535;
  points(0, 40) = 0.87676396773064080303;
  points(1, 40) = 0.1008457159827755717;
  points(0, 41) = 0.022390316286583611394;
  points(1, 41) = 0.87676396773064102508;
  points(0, 42) = 0.87676396773064091406;
  points(1, 42) = 0.022390316286583538535;
  points(0, 43) = 0.1008457159827756966;
  points(1, 43) = 0.87676396773064091406;
  points(0, 44) = 0.022390316286583333838;
  points(1, 44) = 0.10084571598277591864;
  points(0, 45) = 0.3552328254047639744;
  points(1, 45) = 0.099241937888028292081;
  points(0, 46) = 0.54552523670720765026;
  points(1, 46) = 0.35523282540476402991;
  points(0, 47) = 0.099241937888028264325;
  points(1, 47) = 0.5455252367072078723;
  points(0, 48) = 0.54552523670720776128;
  points(1, 48) = 0.099241937888028292081;
  points(0, 49) = 0.3552328254047639744;
  points(1, 49) = 0.5455252367072078723;
  points(0, 50) = 0.099241937888028153303;
  points(1, 50) = 0.35523282540476419644;
  points(0, 51) = 0.15840273419572478697;
  points(1, 51) = 0.020443675144174840164;
  points(0, 52) = 0.82115359066010029654;
  points(1, 52) = 0.15840273419572478697;
  points(0, 53) = 0.020443675144174944247;
  points(1, 53) = 0.82115359066010051858;
  points(0, 54) = 0.82115359066010040756;
  points(1, 54) = 0.020443675144174840164;
  points(0, 55) = 0.15840273419572481473;
  points(1, 55) = 0.82115359066010062961;
  points(0, 56) = 0.020443675144174652814;
  points(1, 56) = 0.15840273419572506453;
  points(0, 57) = 0.47851197325638217261;
  points(1, 57) = 0.042976053487235703343;
  points(0, 58) = 0.47851197325638222813;
  points(1, 58) = 0.47851197325638217261;
  points(0, 59) = 0.04297605348723559926;
  points(1, 59) = 0.47851197325638239466;
  points(0, 60) = 0.40123974845805465694;
  points(1, 60) = 0.058612118456650902365;
  points(0, 61) = 0.54014813308529441294;
  points(1, 61) = 0.40123974845805471245;
  points(0, 62) = 0.058612118456650874609;
  points(1, 62) = 0.54014813308529463498;
  points(0, 63) = 0.54014813308529452396;
  points(1, 63) = 0.058612118456650902365;
  points(0, 64) = 0.40123974845805471245;
  points(1, 64) = 0.54014813308529452396;
  points(0, 65) = 0.058612118456650735832;
  points(1, 65) = 0.4012397484580549345;
  points(0, 66) = 0.22732201316496658539;
  points(1, 66) = 0.019424910165577246451;
  points(0, 67) = 0.75325307666945628959;
  points(1, 67) = 0.22732201316496658539;
  points(0, 68) = 0.019424910165577347065;
  points(1, 68) = 0.75325307666945628959;
  points(0, 69) = 0.75325307666945617857;
  points(1, 69) = 0.019424910165577246451;
  points(0, 70) = 0.22732201316496658539;
  points(1, 70) = 0.75325307666945628959;
  points(0, 71) = 0.01942491016557706951;
  points(1, 71) = 0.22732201316496691845;
  points(0, 72) = 0.10400400013142702127;
  points(1, 72) = 0.0508701921937649848;
  points(0, 73) = 0.84512580767480793842;
  points(1, 73) = 0.10400400013142700739;
  points(0, 74) = 0.050870192193765095823;
  points(1, 74) = 0.84512580767480804944;
  points(0, 75) = 0.84512580767480804944;
  points(1, 75) = 0.0508701921937649848;
  points(0, 76) = 0.1040040001314271878;
  points(1, 76) = 0.84512580767480804944;
  points(0, 77) = 0.050870192193764790511;
  points(1, 77) = 0.10400400013142735434;
  points(0, 78) = 0.25161901936303665561;
  points(1, 78) = 0.0038062521288191411041;
  points(0, 79) = 0.74457472850814410137;
  points(1, 79) = 0.25161901936303671112;
  points(0, 80) = 0.0038062521288191319968;
  points(1, 80) = 0.74457472850814443444;
  points(0, 81) = 0.74457472850814421239;
  points(1, 81) = 0.0038062521288191411041;
  points(0, 82) = 0.25161901936303682215;
  points(1, 82) = 0.74457472850814421239;
  points(0, 83) = 0.0038062521288189654634;
  points(1, 83) = 0.25161901936303698868;
  points(0, 84) = 0.19467152737204623802;
  points(1, 84) = 0.093953710369589979456;
  points(0, 85) = 0.71137476225836371313;
  points(1, 85) = 0.19467152737204629354;
  points(0, 86) = 0.093953710369590048845;
  points(1, 86) = 0.71137476225836382415;
  points(0, 87) = 0.71137476225836382415;
  points(1, 87) = 0.093953710369589979456;
  points(0, 88) = 0.19467152737204629354;
  points(1, 88) = 0.71137476225836393517;
  points(0, 89) = 0.09395371036958977129;
  points(1, 89) = 0.19467152737204651558;
  points(0, 90) = 0.17563963145803312971;
  points(1, 90) = 0.0036669776240121181032;
  points(0, 91) = 0.82069339091795467933;
  points(1, 91) = 0.17563963145803315746;
  points(0, 92) = 0.0036669776240121909616;
  points(1, 92) = 0.82069339091795490138;
  points(0, 93) = 0.82069339091795467933;
  points(1, 93) = 0.0036669776240121181032;
  points(0, 94) = 0.17563963145803324073;
  points(1, 94) = 0.82069339091795490138;
  points(0, 95) = 0.0036669776240119411614;
  points(1, 95) = 0.17563963145803346277;
  points(0, 96) = 0.16542250395062627066;
  points(1, 96) = 0.050425703506065837345;
  points(0, 97) = 0.78415179254330791281;
  points(1, 97) = 0.16542250395062629842;
  points(0, 98) = 0.050425703506065788773;
  points(1, 98) = 0.78415179254330813485;
  points(0, 99) = 0.78415179254330791281;
  points(1, 99) = 0.050425703506065837345;
  points(0, 100) = 0.16542250395062635393;
  points(1, 100) = 0.78415179254330802383;
  points(0, 101) = 0.050425703506065649995;
  points(1, 101) = 0.16542250395062657597;
  points(0, 102) = 0.060482924090960281382;
  points(1, 102) = 0.0041121482809412098977;
  points(0, 103) = 0.93540492762809845928;
  points(1, 103) = 0.06048292409096023281;
  points(0, 104) = 0.0041121482809413079096;
  points(1, 104) = 0.93540492762809868132;
  points(0, 105) = 0.9354049276280985703;
  points(1, 105) = 0.0041121482809412098977;
  points(0, 106) = 0.060482924090960343833;
  points(1, 106) = 0.93540492762809868132;
  points(0, 107) = 0.004112148280940922801;
  points(1, 107) = 0.060482924090960558938;
  points(0, 108) = 0.33210356535752327822;
  points(1, 108) = 0.0043366708649929192401;
  points(0, 109) = 0.66355976377748382422;
  points(1, 109) = 0.33210356535752327822;
  points(0, 110) = 0.0043366708649929530672;
  points(1, 110) = 0.66355976377748404627;
  points(0, 111) = 0.66355976377748382422;
  points(1, 111) = 0.0043366708649929192401;
  points(0, 112) = 0.33210356535752333373;
  points(1, 112) = 0.66355976377748382422;
  points(0, 113) = 0.0043366708649927865338;
  points(1, 113) = 0.33210356535752350027;
  points(0, 114) = 0.3794132168456387233;
  points(1, 114) = 0.14376417624054302347;
  points(0, 115) = 0.47682260691381828099;
  points(1, 115) = 0.37941321684563883432;
  points(0, 116) = 0.14376417624054296795;
  points(1, 116) = 0.47682260691381844753;
  points(0, 117) = 0.47682260691381828099;
  points(1, 117) = 0.14376417624054302347;
  points(0, 118) = 0.37941321684563866778;
  points(1, 118) = 0.4768226069138183365;
  points(0, 119) = 0.14376417624054291244;
  points(1, 119) = 0.37941321684563894534;
  points(0, 120) = 0.023517443057913048343;
  points(1, 120) = 0.023517443057913339777;
  points(0, 121) = 0.952965113884173598;
  points(1, 121) = 0.023517443057913020588;
  points(0, 122) = 0.023517443057913534066;
  points(1, 122) = 0.952965113884173598;
  points(0, 123) = 0.056568897248945648748;
  points(1, 123) = 0.021865818028370839071;
  points(0, 124) = 0.92156528472268339769;
  points(1, 124) = 0.056568897248945655687;
  points(0, 125) = 0.021865818028370898052;
  points(1, 125) = 0.92156528472268373076;
  points(0, 126) = 0.92156528472268350871;
  points(1, 126) = 0.021865818028370839071;
  points(0, 127) = 0.056568897248945704259;
  points(1, 127) = 0.92156528472268373076;
  points(0, 128) = 0.021865818028370568454;
  points(1, 128) = 0.056568897248945974876;
  points(0, 129) = 0.30602386176036056042;
  points(1, 129) = 0.30602386176036072696;
  points(0, 130) = 0.38795227647927871262;
  points(1, 130) = 0.30602386176036067145;
  points(0, 131) = 0.30602386176036056042;
  points(1, 131) = 0.38795227647927882364;
  points(0, 132) = 0.14648905071664269917;
  points(1, 132) = 0.14648905071664294897;
  points(0, 133) = 0.7070218985667142686;
  points(1, 133) = 0.14648905071664269917;
  points(0, 134) = 0.14648905071664303223;
  points(1, 134) = 0.70702189856671437962;
  points(0, 135) = 0.054379203279496281243;
  points(1, 135) = 0.054379203279496565737;
  points(0, 136) = 0.89124159344100717384;
  points(1, 136) = 0.054379203279496274304;
  points(0, 137) = 0.054379203279496690637;
  points(1, 137) = 0.89124159344100728486;
  points(0, 138) = 0.29098491626933009613;
  points(1, 138) = 0.16830733134250236427;
  points(0, 139) = 0.54070775238816759511;
  points(1, 139) = 0.29098491626933009613;
  points(0, 140) = 0.16830733134250230876;
  points(1, 140) = 0.54070775238816770614;
  points(0, 141) = 0.54070775238816759511;
  points(1, 141) = 0.16830733134250236427;
  points(0, 142) = 0.29098491626933004062;
  points(1, 142) = 0.54070775238816770614;
  points(0, 143) = 0.16830733134250219774;
  points(1, 143) = 0.29098491626933031817;
  points(0, 144) = 0.23684539448315153343;
  points(1, 144) = 0.048513979905208393095;
  points(0, 145) = 0.71464062561163999021;
  points(1, 145) = 0.23684539448315156118;
  points(0, 146) = 0.048513979905208393095;
  points(1, 146) = 0.71464062561164032328;
  points(0, 147) = 0.71464062561164010123;
  points(1, 147) = 0.048513979905208393095;
  points(0, 148) = 0.23684539448315156118;
  points(1, 148) = 0.71464062561164021226;
  points(0, 149) = 0.048513979905208198806;
  points(1, 149) = 0.23684539448315183874;
  points(0, 150) = 0.41454915297644301386;
  points(1, 150) = 0.0047372398809321647484;
  points(0, 151) = 0.58071360714262476588;
  points(1, 151) = 0.41454915297644306937;
  points(0, 152) = 0.0047372398809321647484;
  points(1, 152) = 0.58071360714262498792;
  points(0, 153) = 0.58071360714262476588;
  points(1, 153) = 0.0047372398809321647484;
  points(0, 154) = 0.41454915297644301386;
  points(1, 154) = 0.5807136071426248769;
  points(0, 155) = 0.0047372398809320537261;
  points(1, 155) = 0.41454915297644323591;
  points(0, 156) = 0.30753618824094103301;
  points(1, 156) = 0.022135213907368202213;
  points(0, 157) = 0.67032859785169074396;
  points(1, 157) = 0.30753618824094108852;
  points(0, 158) = 0.02213521390736822303;
  points(1, 158) = 0.670328597851690966;
  points(0, 159) = 0.67032859785169074396;
  points(1, 159) = 0.022135213907368202213;
  points(0, 160) = 0.30753618824094108852;
  points(1, 160) = 0.67032859785169085498;
  points(0, 161) = 0.022135213907368084252;
  points(1, 161) = 0.30753618824094125506;
  points(0, 162) = 0.11092666443347039273;
  points(1, 162) = 0.0043933951094666618895;
  points(0, 163) = 0.88467994045706299655;
  points(1, 163) = 0.11092666443347037886;
  points(0, 164) = 0.0043933951094667911264;
  points(1, 164) = 0.88467994045706310757;
  points(0, 165) = 0.88467994045706299655;
  points(1, 165) = 0.0043933951094666618895;
  points(0, 166) = 0.11092666443347043437;
  points(1, 166) = 0.88467994045706310757;
  points(0, 167) = 0.0043933951094663817316;
  points(1, 167) = 0.11092666443347069805;
  points(0, 168) = 0.21819201586325387421;
  points(1, 168) = 0.21819201586325409625;
  points(0, 169) = 0.56361596827349202954;
  points(1, 169) = 0.21819201586325395748;
  points(0, 170) = 0.21819201586325404074;
  points(1, 170) = 0.56361596827349214056;
  points(0, 171) = 0.31886312205636779815;
  points(1, 171) = 0.055160205356247368758;
  points(0, 172) = 0.62597667258738487472;
  points(1, 172) = 0.31886312205636779815;
  points(0, 173) = 0.055160205356247327124;
  points(1, 173) = 0.62597667258738509677;
  points(0, 174) = 0.6259766725873847637;
  points(1, 174) = 0.055160205356247368758;
  points(0, 175) = 0.31886312205636779815;
  points(1, 175) = 0.62597667258738498575;
  points(0, 176) = 0.055160205356247216102;
  points(1, 176) = 0.3188631220563680202;
  points(0, 177) = 0.49199134445655323677;
  points(1, 177) = 0.016017311086893509103;
  points(0, 178) = 0.49199134445655323677;
  points(1, 178) = 0.49199134445655329229;
  points(0, 179) = 0.016017311086893470939;
  points(1, 179) = 0.49199134445655345882;
  points(0, 180) = 0.39536775910138277634;
  points(1, 180) = 0.024399888469638697508;
  points(0, 181) = 0.58023235242897852615;
  points(1, 181) = 0.39536775910138283185;
  points(0, 182) = 0.024399888469638641997;
  points(1, 182) = 0.58023235242897874819;
  points(0, 183) = 0.58023235242897852615;
  points(1, 183) = 0.024399888469638697508;
  points(0, 184) = 0.39536775910138283185;
  points(1, 184) = 0.58023235242897863717;
  points(0, 185) = 0.024399888469638586486;
  points(1, 185) = 0.39536775910138299839;
  points(0, 186) = 0.4533999616178052694;
  points(1, 186) = 0.093200076764389502837;
  points(0, 187) = 0.4533999616178052694;
  points(1, 187) = 0.45339996161780532491;
  points(0, 188) = 0.093200076764389433448;
  points(1, 188) = 0.45339996161780543593;
  points(0, 189) = 0.21375783029735306862;
  points(1, 189) = 0.1506349418291861586;
  points(0, 190) = 0.63560722787346080054;
  points(1, 190) = 0.21375783029735309637;
  points(0, 191) = 0.15063494182918618636;
  points(1, 191) = 0.63560722787346091156;
  points(0, 192) = 0.63560722787346080054;
  points(1, 192) = 0.1506349418291861586;
  points(0, 193) = 0.21375783029735312413;
  points(1, 193) = 0.63560722787346091156;
  points(0, 194) = 0.15063494182918596431;
  points(1, 194) = 0.21375783029735329066;
  points(0, 195) = 0.0047266605105680042573;
  points(1, 195) = 0.004726660510568291354;
  points(0, 196) = 0.99054667897886361505;
  points(1, 196) = 0.0047266605105679704302;
  points(0, 197) = 0.0047266605105684145194;
  points(1, 197) = 0.9905466789788638371;
  points(0, 198) = 0.024779370217540629823;
  points(1, 198) = 0.0045023852882973627865;
  points(0, 199) = 0.97071824449416199698;
  points(1, 199) = 0.024779370217540591659;
  points(0, 200) = 0.0045023852882975501366;
  points(1, 200) = 0.970718244494162108;
  points(0, 201) = 0.97071824449416199698;
  points(1, 201) = 0.0045023852882973627865;
  points(0, 202) = 0.024779370217540674926;
  points(1, 202) = 0.970718244494162108;
  points(0, 203) = 0.0045023852882971494155;
  points(1, 203) = 0.024779370217540976767;

  weights(0) = 0.0016011820062071030132;
  weights(1) = 0.0016011820062071030132;
  weights(2) = 0.0016011820062071030132;
  weights(3) = 0.0034173399672340438668;
  weights(4) = 0.0034173399672340438668;
  weights(5) = 0.0034173399672340438668;
  weights(6) = 0.0025054117282874480664;
  weights(7) = 0.0025054117282874480664;
  weights(8) = 0.0025054117282874480664;
  weights(9) = 0.0025054117282874480664;
  weights(10) = 0.0025054117282874480664;
  weights(11) = 0.0025054117282874480664;
  weights(12) = 0.0031333357572989779805;
  weights(13) = 0.0031333357572989779805;
  weights(14) = 0.0031333357572989779805;
  weights(15) = 0.0031333357572989779805;
  weights(16) = 0.0031333357572989779805;
  weights(17) = 0.0031333357572989779805;
  weights(18) = 0.00446708090406837139;
  weights(19) = 0.00446708090406837139;
  weights(20) = 0.00446708090406837139;
  weights(21) = 0.00052054561864321052291;
  weights(22) = 0.00052054561864321052291;
  weights(23) = 0.00052054561864321052291;
  weights(24) = 0.0025530461509316558499;
  weights(25) = 0.0025530461509316558499;
  weights(26) = 0.0025530461509316558499;
  weights(27) = 0.0025530461509316558499;
  weights(28) = 0.0025530461509316558499;
  weights(29) = 0.0025530461509316558499;
  weights(30) = 0.0048196234294203910489;
  weights(31) = 0.0048196234294203910489;
  weights(32) = 0.0048196234294203910489;
  weights(33) = 0.0048196234294203910489;
  weights(34) = 0.0048196234294203910489;
  weights(35) = 0.0048196234294203910489;
  weights(36) = 0.0048694286183426855122;
  weights(37) = 0.0048694286183426855122;
  weights(38) = 0.0048694286183426855122;
  weights(39) = 0.0012106190194342474151;
  weights(40) = 0.0012106190194342474151;
  weights(41) = 0.0012106190194342474151;
  weights(42) = 0.0012106190194342474151;
  weights(43) = 0.0012106190194342474151;
  weights(44) = 0.0012106190194342474151;
  weights(45) = 0.0038486733635274676148;
  weights(46) = 0.0038486733635274676148;
  weights(47) = 0.0038486733635274676148;
  weights(48) = 0.0038486733635274676148;
  weights(49) = 0.0038486733635274676148;
  weights(50) = 0.0038486733635274676148;
  weights(51) = 0.0014941223459745160348;
  weights(52) = 0.0014941223459745160348;
  weights(53) = 0.0014941223459745160348;
  weights(54) = 0.0014941223459745160348;
  weights(55) = 0.0014941223459745160348;
  weights(56) = 0.0014941223459745160348;
  weights(57) = 0.002732162842023017936;
  weights(58) = 0.002732162842023017936;
  weights(59) = 0.002732162842023017936;
  weights(60) = 0.0030994270129716811057;
  weights(61) = 0.0030994270129716811057;
  weights(62) = 0.0030994270129716811057;
  weights(63) = 0.0030994270129716811057;
  weights(64) = 0.0030994270129716811057;
  weights(65) = 0.0030994270129716811057;
  weights(66) = 0.0016584986469565367404;
  weights(67) = 0.0016584986469565367404;
  weights(68) = 0.0016584986469565367404;
  weights(69) = 0.0016584986469565367404;
  weights(70) = 0.0016584986469565367404;
  weights(71) = 0.0016584986469565367404;
  weights(72) = 0.0018544648062946323015;
  weights(73) = 0.0018544648062946323015;
  weights(74) = 0.0018544648062946323015;
  weights(75) = 0.0018544648062946323015;
  weights(76) = 0.0018544648062946323015;
  weights(77) = 0.0018544648062946323015;
  weights(78) = 0.00077132325923528154404;
  weights(79) = 0.00077132325923528154404;
  weights(80) = 0.00077132325923528154404;
  weights(81) = 0.00077132325923528154404;
  weights(82) = 0.00077132325923528154404;
  weights(83) = 0.00077132325923528154404;
  weights(84) = 0.0033060862055342109256;
  weights(85) = 0.0033060862055342109256;
  weights(86) = 0.0033060862055342109256;
  weights(87) = 0.0033060862055342109256;
  weights(88) = 0.0033060862055342109256;
  weights(89) = 0.0033060862055342109256;
  weights(90) = 0.00067758909787532484951;
  weights(91) = 0.00067758909787532484951;
  weights(92) = 0.00067758909787532484951;
  weights(93) = 0.00067758909787532484951;
  weights(94) = 0.00067758909787532484951;
  weights(95) = 0.00067758909787532484951;
  weights(96) = 0.0024518141717764572844;
  weights(97) = 0.0024518141717764572844;
  weights(98) = 0.0024518141717764572844;
  weights(99) = 0.0024518141717764572844;
  weights(100) = 0.0024518141717764572844;
  weights(101) = 0.0024518141717764572844;
  weights(102) = 0.0004578830785905038084;
  weights(103) = 0.0004578830785905038084;
  weights(104) = 0.0004578830785905038084;
  weights(105) = 0.0004578830785905038084;
  weights(106) = 0.0004578830785905038084;
  weights(107) = 0.0004578830785905038084;
  weights(108) = 0.00091090813221326137616;
  weights(109) = 0.00091090813221326137616;
  weights(110) = 0.00091090813221326137616;
  weights(111) = 0.00091090813221326137616;
  weights(112) = 0.00091090813221326137616;
  weights(113) = 0.00091090813221326137616;
  weights(114) = 0.0046211899508548049884;
  weights(115) = 0.0046211899508548049884;
  weights(116) = 0.0046211899508548049884;
  weights(117) = 0.0046211899508548049884;
  weights(118) = 0.0046211899508548049884;
  weights(119) = 0.0046211899508548049884;
  weights(120) = 0.00069068453151395210309;
  weights(121) = 0.00069068453151395210309;
  weights(122) = 0.00069068453151395210309;
  weights(123) = 0.00098031561684660704567;
  weights(124) = 0.00098031561684660704567;
  weights(125) = 0.00098031561684660704567;
  weights(126) = 0.00098031561684660704567;
  weights(127) = 0.00098031561684660704567;
  weights(128) = 0.00098031561684660704567;
  weights(129) = 0.0060443699904582813207;
  weights(130) = 0.0060443699904582813207;
  weights(131) = 0.0060443699904582813207;
  weights(132) = 0.0036887232483670952081;
  weights(133) = 0.0036887232483670952081;
  weights(134) = 0.0036887232483670952081;
  weights(135) = 0.0016046752219708100735;
  weights(136) = 0.0016046752219708100735;
  weights(137) = 0.0016046752219708100735;
  weights(138) = 0.0051049588931982477213;
  weights(139) = 0.0051049588931982477213;
  weights(140) = 0.0051049588931982477213;
  weights(141) = 0.0051049588931982477213;
  weights(142) = 0.0051049588931982477213;
  weights(143) = 0.0051049588931982477213;
  weights(144) = 0.0027318852186860777959;
  weights(145) = 0.0027318852186860777959;
  weights(146) = 0.0027318852186860777959;
  weights(147) = 0.0027318852186860777959;
  weights(148) = 0.0027318852186860777959;
  weights(149) = 0.0027318852186860777959;
  weights(150) = 0.0010055510048923629179;
  weights(151) = 0.0010055510048923629179;
  weights(152) = 0.0010055510048923629179;
  weights(153) = 0.0010055510048923629179;
  weights(154) = 0.0010055510048923629179;
  weights(155) = 0.0010055510048923629179;
  weights(156) = 0.0021341673513172406719;
  weights(157) = 0.0021341673513172406719;
  weights(158) = 0.0021341673513172406719;
  weights(159) = 0.0021341673513172406719;
  weights(160) = 0.0021341673513172406719;
  weights(161) = 0.0021341673513172406719;
  weights(162) = 0.00064393820444768332459;
  weights(163) = 0.00064393820444768332459;
  weights(164) = 0.00064393820444768332459;
  weights(165) = 0.00064393820444768332459;
  weights(166) = 0.00064393820444768332459;
  weights(167) = 0.00064393820444768332459;
  weights(168) = 0.0049631880897721006654;
  weights(169) = 0.0049631880897721006654;
  weights(170) = 0.0049631880897721006654;
  weights(171) = 0.0032999416636283872978;
  weights(172) = 0.0032999416636283872978;
  weights(173) = 0.0032999416636283872978;
  weights(174) = 0.0032999416636283872978;
  weights(175) = 0.0032999416636283872978;
  weights(176) = 0.0032999416636283872978;
  weights(177) = 0.0019311810149830205968;
  weights(178) = 0.0019311810149830205968;
  weights(179) = 0.0019311810149830205968;
  weights(180) = 0.0024737164044040939152;
  weights(181) = 0.0024737164044040939152;
  weights(182) = 0.0024737164044040939152;
  weights(183) = 0.0024737164044040939152;
  weights(184) = 0.0024737164044040939152;
  weights(185) = 0.0024737164044040939152;
  weights(186) = 0.0046668988848232893438;
  weights(187) = 0.0046668988848232893438;
  weights(188) = 0.0046668988848232893438;
  weights(189) = 0.0045907407789635510525;
  weights(190) = 0.0045907407789635510525;
  weights(191) = 0.0045907407789635510525;
  weights(192) = 0.0045907407789635510525;
  weights(193) = 0.0045907407789635510525;
  weights(194) = 0.0045907407789635510525;
  weights(195) = 0.00014674136678900873512;
  weights(196) = 0.00014674136678900873512;
  weights(197) = 0.00014674136678900873512;
  weights(198) = 0.00032200088717371585937;
  weights(199) = 0.00032200088717371585937;
  weights(200) = 0.00032200088717371585937;
  weights(201) = 0.00032200088717371585937;
  weights(202) = 0.00032200088717371585937;
  weights(203) = 0.00032200088717371585937;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 33);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 34>() { // NOLINT
  Eigen::MatrixXd points(2, 214);
  Eigen::VectorXd weights(214);

  points(0, 0) = 0.38512625183828097519;
  points(1, 0) = 0.021096760270101936469;
  points(0, 1) = 0.5937769878916170363;
  points(1, 1) = 0.38512625183828108621;
  points(0, 2) = 0.021096760270101932999;
  points(1, 2) = 0.59377698789161714732;
  points(0, 3) = 0.5937769878916170363;
  points(1, 3) = 0.021096760270101936469;
  points(0, 4) = 0.3851262518382810307;
  points(1, 4) = 0.59377698789161714732;
  points(0, 5) = 0.021096760270101849732;
  points(1, 5) = 0.38512625183828125275;
  points(0, 6) = 0.05282006734549875987;
  points(1, 6) = 0.0033881121503900484861;
  points(0, 7) = 0.94379182050411103422;
  points(1, 7) = 0.052820067345498752931;
  points(0, 8) = 0.0033881121503902544845;
  points(1, 8) = 0.94379182050411114524;
  points(0, 9) = 0.94379182050411114524;
  points(1, 9) = 0.0033881121503900484861;
  points(0, 10) = 0.05282006734549882232;
  points(1, 10) = 0.94379182050411136728;
  points(0, 11) = 0.0033881121503897791702;
  points(1, 11) = 0.052820067345499106815;
  points(0, 12) = 0.04598259515412714965;
  points(1, 12) = 0.045982595154127434145;
  points(0, 13) = 0.90803480969174543702;
  points(1, 13) = 0.04598259515412714965;
  points(0, 14) = 0.045982595154127559045;
  points(1, 14) = 0.90803480969174554804;
  points(0, 15) = 0.050898765283131607029;
  points(1, 15) = 0.018208328799472390386;
  points(0, 16) = 0.93089290591739592973;
  points(1, 16) = 0.050898765283131607029;
  points(0, 17) = 0.018208328799472539572;
  points(1, 17) = 0.93089290591739604075;
  points(0, 18) = 0.93089290591739604075;
  points(1, 18) = 0.018208328799472390386;
  points(0, 19) = 0.050898765283131752746;
  points(1, 19) = 0.93089290591739604075;
  points(0, 20) = 0.018208328799472102422;
  points(1, 20) = 0.050898765283131960913;
  points(0, 21) = 0.020838747514968405938;
  points(1, 21) = 0.020838747514968700841;
  points(0, 22) = 0.95832250497006288281;
  points(1, 22) = 0.020838747514968381652;
  points(0, 23) = 0.020838747514968780639;
  points(1, 23) = 0.95832250497006310486;
  points(0, 24) = 0.12912437207260851757;
  points(1, 24) = 0.060510770643312256079;
  points(0, 25) = 0.81036485728407925411;
  points(1, 25) = 0.12912437207260848981;
  points(0, 26) = 0.060510770643312394856;
  points(1, 26) = 0.81036485728407925411;
  points(0, 27) = 0.81036485728407925411;
  points(1, 27) = 0.060510770643312256079;
  points(0, 28) = 0.1291243720726086841;
  points(1, 28) = 0.81036485728407925411;
  points(0, 29) = 0.060510770643312089545;
  points(1, 29) = 0.12912437207260879513;
  points(0, 30) = 0.087817902777524478597;
  points(1, 30) = 0.035919891363577788335;
  points(0, 31) = 0.87626220585889769144;
  points(1, 31) = 0.087817902777524506353;
  points(0, 32) = 0.03591989136357781609;
  points(1, 32) = 0.87626220585889791348;
  points(0, 33) = 0.87626220585889769144;
  points(1, 33) = 0.035919891363577788335;
  points(0, 34) = 0.087817902777524492475;
  points(1, 34) = 0.87626220585889791348;
  points(0, 35) = 0.03591989136357756629;
  points(1, 35) = 0.087817902777524825542;
  points(0, 36) = 0.075762174186790778863;
  points(1, 36) = 0.075762174186791070296;
  points(0, 37) = 0.84847565162641802594;
  points(1, 37) = 0.075762174186790778863;
  points(0, 38) = 0.075762174186791209074;
  points(1, 38) = 0.84847565162641824799;
  points(0, 39) = 0.37660198051754567583;
  points(1, 39) = 0.24679603896490862058;
  points(0, 40) = 0.37660198051754567583;
  points(1, 40) = 0.37660198051754578685;
  points(0, 41) = 0.24679603896490850956;
  points(1, 41) = 0.37660198051754584236;
  points(0, 42) = 0.27355373802481919299;
  points(1, 42) = 0.16406102867021266078;
  points(0, 43) = 0.56238523330496814623;
  points(1, 43) = 0.2735537380248192485;
  points(0, 44) = 0.16406102867021266078;
  points(1, 44) = 0.56238523330496825725;
  points(0, 45) = 0.56238523330496814623;
  points(1, 45) = 0.16406102867021266078;
  points(0, 46) = 0.2735537380248192485;
  points(1, 46) = 0.56238523330496825725;
  points(0, 47) = 0.16406102867021249425;
  points(1, 47) = 0.27355373802481941503;
  points(0, 48) = 0.094477065632374165882;
  points(1, 48) = 0.010683263523588422753;
  points(0, 49) = 0.89483967084403737147;
  points(1, 49) = 0.094477065632374165882;
  points(0, 50) = 0.010683263523588559796;
  points(1, 50) = 0.89483967084403748249;
  points(0, 51) = 0.89483967084403737147;
  points(1, 51) = 0.010683263523588422753;
  points(0, 52) = 0.094477065632374290782;
  points(1, 52) = 0.89483967084403748249;
  points(0, 53) = 0.01068326352358815734;
  points(1, 53) = 0.094477065632374485071;
  points(0, 54) = 0.28735583982216489352;
  points(1, 54) = 0.28735583982216506005;
  points(0, 55) = 0.42528832035567010195;
  points(1, 55) = 0.28735583982216500454;
  points(0, 56) = 0.28735583982216506005;
  points(1, 56) = 0.42528832035567015746;
  points(0, 57) = 0.41115223330360051168;
  points(1, 57) = 0.031132680306373710505;
  points(0, 58) = 0.55771508639002576047;
  points(1, 58) = 0.41115223330360056719;
  points(0, 59) = 0.031132680306373672341;
  points(1, 59) = 0.55771508639002598251;
  points(0, 60) = 0.55771508639002587149;
  points(1, 60) = 0.031132680306373710505;
  points(0, 61) = 0.41115223330360056719;
  points(1, 61) = 0.55771508639002587149;
  points(0, 62) = 0.03113268030637361683;
  points(1, 62) = 0.41115223330360073373;
  points(0, 63) = 0.35944756949825529269;
  points(1, 63) = 0.13319262322170583035;
  points(0, 64) = 0.50735980728003893248;
  points(1, 64) = 0.35944756949825540371;
  points(0, 65) = 0.13319262322170577484;
  points(1, 65) = 0.5073598072800390435;
  points(0, 66) = 0.50735980728003893248;
  points(1, 66) = 0.13319262322170583035;
  points(0, 67) = 0.35944756949825529269;
  points(1, 67) = 0.50735980728003893248;
  points(0, 68) = 0.13319262322170571933;
  points(1, 68) = 0.35944756949825551473;
  points(0, 69) = 0.38841008533043708262;
  points(1, 69) = 0.074297319237294212613;
  points(0, 70) = 0.53729259543226881579;
  points(1, 70) = 0.38841008533043713813;
  points(0, 71) = 0.074297319237294157102;
  points(1, 71) = 0.53729259543226892681;
  points(0, 72) = 0.53729259543226870477;
  points(1, 72) = 0.074297319237294212613;
  points(0, 73) = 0.38841008533043702711;
  points(1, 73) = 0.53729259543226881579;
  points(0, 74) = 0.07429731923729410159;
  points(1, 74) = 0.38841008533043730466;
  points(0, 75) = 0.32535504334205772592;
  points(1, 75) = 0.20516649781476195558;
  points(0, 76) = 0.46947845884318040177;
  points(1, 76) = 0.32535504334205778143;
  points(0, 77) = 0.20516649781476187231;
  points(1, 77) = 0.46947845884318051279;
  points(0, 78) = 0.46947845884318034626;
  points(1, 78) = 0.20516649781476195558;
  points(0, 79) = 0.32535504334205778143;
  points(1, 79) = 0.46947845884318045728;
  points(0, 80) = 0.2051664978147618168;
  points(1, 80) = 0.32535504334205789245;
  points(0, 81) = 0.17478047948106839593;
  points(1, 81) = 0.090219606125175516587;
  points(0, 82) = 0.73499991439375611524;
  points(1, 82) = 0.17478047948106842369;
  points(0, 83) = 0.090219606125175544342;
  points(1, 83) = 0.73499991439375622626;
  points(0, 84) = 0.73499991439375611524;
  points(1, 84) = 0.090219606125175516587;
  points(0, 85) = 0.17478047948106850695;
  points(1, 85) = 0.73499991439375611524;
  points(0, 86) = 0.090219606125175322298;
  points(1, 86) = 0.17478047948106867349;
  points(0, 87) = 0.19416461814956328946;
  points(1, 87) = 0.043915872904511432662;
  points(0, 88) = 0.76191950894592519461;
  points(1, 88) = 0.19416461814956328946;
  points(0, 89) = 0.043915872904511488173;
  points(1, 89) = 0.76191950894592541665;
  points(0, 90) = 0.76191950894592519461;
  points(1, 90) = 0.043915872904511432662;
  points(0, 91) = 0.19416461814956331722;
  points(1, 91) = 0.76191950894592541665;
  points(0, 92) = 0.043915872904511266128;
  points(1, 92) = 0.19416461814956353926;
  points(0, 93) = 0.47441249890284559187;
  points(1, 93) = 0.051175002194308844006;
  points(0, 94) = 0.47441249890284559187;
  points(1, 94) = 0.47441249890284564739;
  points(0, 95) = 0.051175002194308788495;
  points(1, 95) = 0.47441249890284581392;
  points(0, 96) = 0.24832787340457895819;
  points(1, 96) = 0.068963829964601694456;
  points(0, 97) = 0.68270829663081933347;
  points(1, 97) = 0.24832787340457898595;
  points(0, 98) = 0.068963829964601763844;
  points(1, 98) = 0.68270829663081944449;
  points(0, 99) = 0.68270829663081933347;
  points(1, 99) = 0.068963829964601694456;
  points(0, 100) = 0.24832787340457901371;
  points(1, 100) = 0.68270829663081944449;
  points(0, 101) = 0.068963829964601527922;
  points(1, 101) = 0.24832787340457920799;
  points(0, 102) = 0.22299204126120086844;
  points(1, 102) = 0.12518179814288665774;
  points(0, 103) = 0.65182616059591247382;
  points(1, 103) = 0.22299204126120092395;
  points(0, 104) = 0.12518179814288665774;
  points(1, 104) = 0.65182616059591258484;
  points(0, 105) = 0.65182616059591247382;
  points(1, 105) = 0.12518179814288665774;
  points(0, 106) = 0.22299204126120086844;
  points(1, 106) = 0.65182616059591258484;
  points(0, 107) = 0.12518179814288654672;
  points(1, 107) = 0.22299204126120111824;
  points(0, 108) = 0.14960442354895109318;
  points(1, 108) = 0.0046702985612832939588;
  points(0, 109) = 0.84572527788976559204;
  points(1, 109) = 0.14960442354895109318;
  points(0, 110) = 0.0046702985612833702866;
  points(1, 110) = 0.84572527788976581409;
  points(0, 111) = 0.84572527788976570307;
  points(1, 111) = 0.0046702985612832939588;
  points(0, 112) = 0.1496044235489512042;
  points(1, 112) = 0.84572527788976570307;
  points(0, 113) = 0.0046702985612830372197;
  points(1, 113) = 0.14960442354895142625;
  points(0, 114) = 0.11117270128584560984;
  points(1, 114) = 0.11117270128584587352;
  points(0, 115) = 0.77765459742830844725;
  points(1, 115) = 0.11117270128584565148;
  points(0, 116) = 0.1111727012858458874;
  points(1, 116) = 0.77765459742830866929;
  points(0, 117) = 0.49186496195768969475;
  points(1, 117) = 0.016270076084620652135;
  points(0, 118) = 0.49186496195768969475;
  points(1, 118) = 0.49186496195768975026;
  points(0, 119) = 0.01627007608462055499;
  points(1, 119) = 0.49186496195768991679;
  points(0, 120) = 0.32839141369212659916;
  points(1, 120) = 0.048925922503864412161;
  points(0, 121) = 0.62268266380400905113;
  points(1, 121) = 0.32839141369212665467;
  points(0, 122) = 0.048925922503864349711;
  points(1, 122) = 0.62268266380400916216;
  points(0, 123) = 0.62268266380400894011;
  points(1, 123) = 0.048925922503864412161;
  points(0, 124) = 0.32839141369212665467;
  points(1, 124) = 0.62268266380400905113;
  points(0, 125) = 0.048925922503864321955;
  points(1, 125) = 0.3283914136921268212;
  points(0, 126) = 0.15088772276287290564;
  points(1, 126) = 0.15088772276287315544;
  points(0, 127) = 0.69822455447425391117;
  points(1, 127) = 0.15088772276287290564;
  points(0, 128) = 0.15088772276287321095;
  points(1, 128) = 0.6982245544742540222;
  points(0, 129) = 0.14238550032454280747;
  points(1, 129) = 0.024658249778207345926;
  points(0, 130) = 0.83295624989724981191;
  points(1, 130) = 0.14238550032454280747;
  points(0, 131) = 0.024658249778207408376;
  points(1, 131) = 0.83295624989725003395;
  points(0, 132) = 0.83295624989724992293;
  points(1, 132) = 0.024658249778207345926;
  points(0, 133) = 0.14238550032454294625;
  points(1, 133) = 0.83295624989724992293;
  points(0, 134) = 0.024658249778207172453;
  points(1, 134) = 0.14238550032454314054;
  points(0, 135) = 0.42384029972036885159;
  points(1, 135) = 0.0059599432497442752718;
  points(0, 136) = 0.57019975702988690003;
  points(1, 136) = 0.42384029972036885159;
  points(0, 137) = 0.0059599432497442483836;
  points(1, 137) = 0.57019975702988712207;
  points(0, 138) = 0.57019975702988690003;
  points(1, 138) = 0.0059599432497442752718;
  points(0, 139) = 0.4238402997203689071;
  points(1, 139) = 0.57019975702988701105;
  points(0, 140) = 0.0059599432497441651169;
  points(1, 140) = 0.42384029972036912914;
  points(0, 141) = 0.004157957392318925062;
  points(1, 141) = 0.0041579573923192069546;
  points(0, 142) = 0.99168408521536177691;
  points(1, 142) = 0.0041579573923188868981;
  points(0, 143) = 0.0041579573923193891005;
  points(1, 143) = 0.99168408521536188793;
  points(0, 144) = 0.24043491041381676032;
  points(1, 144) = 0.24043491041381692686;
  points(0, 145) = 0.51913017917236636833;
  points(1, 145) = 0.24043491041381681583;
  points(0, 146) = 0.24043491041381687134;
  points(1, 146) = 0.51913017917236647936;
  points(0, 147) = 0.26769041934430559682;
  points(1, 147) = 0.028518722842285394031;
  points(0, 148) = 0.70379085781340910977;
  points(1, 148) = 0.26769041934430559682;
  points(0, 149) = 0.028518722842285515462;
  points(1, 149) = 0.70379085781340910977;
  points(0, 150) = 0.70379085781340899874;
  points(1, 150) = 0.028518722842285394031;
  points(0, 151) = 0.26769041934430559682;
  points(1, 151) = 0.70379085781340910977;
  points(0, 152) = 0.028518722842285210151;
  points(1, 152) = 0.26769041934430587437;
  points(0, 153) = 0.41551159674483717499;
  points(1, 153) = 0.16897680651032567778;
  points(0, 154) = 0.41551159674483717499;
  points(1, 154) = 0.4155115967448372305;
  points(0, 155) = 0.16897680651032562227;
  points(1, 155) = 0.41551159674483734152;
  points(0, 156) = 0.49954218266151179106;
  points(1, 156) = 0.00091563467697645744506;
  points(0, 157) = 0.49954218266151173555;
  points(1, 157) = 0.49954218266151184658;
  points(0, 158) = 0.00091563467697639011611;
  points(1, 158) = 0.49954218266151201311;
  points(0, 159) = 0.34541137895290113802;
  points(1, 159) = 0.015562643301015494784;
  points(0, 160) = 0.63902597774608338455;
  points(1, 160) = 0.34541137895290119353;
  points(0, 161) = 0.015562643301015421926;
  points(1, 161) = 0.63902597774608360659;
  points(0, 162) = 0.63902597774608338455;
  points(1, 162) = 0.015562643301015494784;
  points(0, 163) = 0.34541137895290113802;
  points(1, 163) = 0.63902597774608349557;
  points(0, 164) = 0.015562643301015394171;
  points(1, 164) = 0.34541137895290136006;
  points(0, 165) = 0.35344951965766374657;
  points(1, 165) = 0.00092571823393383483036;
  points(0, 166) = 0.64562476210840236135;
  points(1, 166) = 0.35344951965766380209;
  points(0, 167) = 0.00092571823393383656509;
  points(1, 167) = 0.64562476210840258339;
  points(0, 168) = 0.64562476210840247237;
  points(1, 168) = 0.00092571823393383483036;
  points(0, 169) = 0.35344951965766380209;
  points(1, 169) = 0.64562476210840258339;
  points(0, 170) = 0.00092571823393372554278;
  points(1, 170) = 0.35344951965766402413;
  points(0, 171) = 0.44856426587870823486;
  points(1, 171) = 0.10287146824258351641;
  points(0, 172) = 0.44856426587870823486;
  points(1, 172) = 0.44856426587870834588;
  points(0, 173) = 0.10287146824258339151;
  points(1, 173) = 0.44856426587870851241;
  points(0, 174) = 0.30333563947178915354;
  points(1, 174) = 0.099286211618585432093;
  points(0, 175) = 0.59737814890962537273;
  points(1, 175) = 0.30333563947178926457;
  points(0, 176) = 0.099286211618585418215;
  points(1, 176) = 0.59737814890962548375;
  points(0, 177) = 0.59737814890962537273;
  points(1, 177) = 0.099286211618585432093;
  points(0, 178) = 0.30333563947178920905;
  points(1, 178) = 0.59737814890962548375;
  points(0, 179) = 0.099286211618585251681;
  points(1, 179) = 0.3033356394717894311;
  points(0, 180) = 0.021755560320183935097;
  points(1, 180) = 0.0039745058725184773118;
  points(0, 181) = 0.974269933807297428;
  points(1, 181) = 0.021755560320183928158;
  points(0, 182) = 0.0039745058725186299675;
  points(1, 182) = 0.97426993380729765004;
  points(0, 183) = 0.97426993380729753902;
  points(1, 183) = 0.0039745058725184773118;
  points(0, 184) = 0.021755560320184053058;
  points(1, 184) = 0.97426993380729765004;
  points(0, 185) = 0.0039745058725182275117;
  points(1, 185) = 0.021755560320184247347;
  points(0, 186) = 0.33333333333333325932;
  points(1, 186) = 0.33333333333333342585;
  points(0, 187) = 0.20754686827352045175;
  points(1, 187) = 0.013779639405368807742;
  points(0, 188) = 0.77867349232111071622;
  points(1, 188) = 0.20754686827352045175;
  points(0, 189) = 0.013779639405368915295;
  points(1, 189) = 0.77867349232111082724;
  points(0, 190) = 0.77867349232111071622;
  points(1, 190) = 0.013779639405368807742;
  points(0, 191) = 0.20754686827352047951;
  points(1, 191) = 0.77867349232111082724;
  points(0, 192) = 0.013779639405368609983;
  points(1, 192) = 0.20754686827352070155;
  points(0, 193) = 0.19438654357896612002;
  points(1, 193) = 0.19438654357896636982;
  points(0, 194) = 0.6112269128420674269;
  points(1, 194) = 0.19438654357896617553;
  points(0, 195) = 0.19438654357896639757;
  points(1, 195) = 0.61122691284206764895;
  points(0, 196) = 0.21356023951794783633;
  points(1, 196) = 0.00077213912032704349643;
  points(0, 197) = 0.78566762136172507702;
  points(1, 197) = 0.21356023951794783633;
  points(0, 198) = 0.00077213912032714215883;
  points(1, 198) = 0.78566762136172518804;
  points(0, 199) = 0.78566762136172518804;
  points(1, 199) = 0.00077213912032704349643;
  points(0, 200) = 0.21356023951794794735;
  points(1, 200) = 0.78566762136172518804;
  points(0, 201) = 0.00077213912032685072528;
  points(1, 201) = 0.21356023951794814164;
  points(0, 202) = 0.27938643178222372088;
  points(1, 202) = 0.0054617908942934485436;
  points(0, 203) = 0.71515177732348278461;
  points(1, 203) = 0.27938643178222377639;
  points(0, 204) = 0.0054617908942934390026;
  points(1, 204) = 0.71515177732348300665;
  points(0, 205) = 0.71515177732348278461;
  points(1, 205) = 0.0054617908942934485436;
  points(0, 206) = 0.27938643178222377639;
  points(1, 206) = 0.71515177732348300665;
  points(0, 207) = 0.0054617908942933002248;
  points(1, 207) = 0.27938643178222405394;
  points(0, 208) = 0.096866922575547173557;
  points(1, 208) = 4.7096910185453920363e-06;
  points(0, 209) = 0.90312836773343418972;
  points(1, 209) = 0.096866922575547145802;
  points(0, 210) = 4.7096910186783524921e-06;
  points(1, 210) = 0.90312836773343441177;
  points(0, 211) = 0.90312836773343430075;
  points(1, 211) = 4.7096910185453920363e-06;
  points(0, 212) = 0.096866922575547242946;
  points(1, 212) = 0.90312836773343441177;
  points(0, 213) = 4.7096910183036522213e-06;
  points(1, 213) = 0.096866922575547492746;

  weights(0) = 5.0842986183565784595e-05;
  weights(1) = 5.0842986183565784595e-05;
  weights(2) = 5.0842986183565784595e-05;
  weights(3) = 5.0842986183565784595e-05;
  weights(4) = 5.0842986183565784595e-05;
  weights(5) = 5.0842986183565784595e-05;
  weights(6) = 0.00032702398329375416191;
  weights(7) = 0.00032702398329375416191;
  weights(8) = 0.00032702398329375416191;
  weights(9) = 0.00032702398329375416191;
  weights(10) = 0.00032702398329375416191;
  weights(11) = 0.00032702398329375416191;
  weights(12) = 0.0011494832844045565177;
  weights(13) = 0.0011494832844045565177;
  weights(14) = 0.0011494832844045565177;
  weights(15) = 0.00075990582913082081393;
  weights(16) = 0.00075990582913082081393;
  weights(17) = 0.00075990582913082081393;
  weights(18) = 0.00075990582913082081393;
  weights(19) = 0.00075990582913082081393;
  weights(20) = 0.00075990582913082081393;
  weights(21) = 0.0005498402832316000733;
  weights(22) = 0.0005498402832316000733;
  weights(23) = 0.0005498402832316000733;
  weights(24) = 0.0023348188419729663974;
  weights(25) = 0.0023348188419729663974;
  weights(26) = 0.0023348188419729663974;
  weights(27) = 0.0023348188419729663974;
  weights(28) = 0.0023348188419729663974;
  weights(29) = 0.0023348188419729663974;
  weights(30) = 0.0014760578152810924397;
  weights(31) = 0.0014760578152810924397;
  weights(32) = 0.0014760578152810924397;
  weights(33) = 0.0014760578152810924397;
  weights(34) = 0.0014760578152810924397;
  weights(35) = 0.0014760578152810924397;
  weights(36) = 0.0019986867268246763518;
  weights(37) = 0.0019986867268246763518;
  weights(38) = 0.0019986867268246763518;
  weights(39) = 0.0058700032956288039285;
  weights(40) = 0.0058700032956288039285;
  weights(41) = 0.0058700032956288039285;
  weights(42) = 0.0049304651564523712184;
  weights(43) = 0.0049304651564523712184;
  weights(44) = 0.0049304651564523712184;
  weights(45) = 0.0049304651564523712184;
  weights(46) = 0.0049304651564523712184;
  weights(47) = 0.0049304651564523712184;
  weights(48) = 0.00086313662942085096763;
  weights(49) = 0.00086313662942085096763;
  weights(50) = 0.00086313662942085096763;
  weights(51) = 0.00086313662942085096763;
  weights(52) = 0.00086313662942085096763;
  weights(53) = 0.00086313662942085096763;
  weights(54) = 0.0058806038197068274606;
  weights(55) = 0.0058806038197068274606;
  weights(56) = 0.0058806038197068274606;
  weights(57) = 0.0025180912506669738023;
  weights(58) = 0.0025180912506669738023;
  weights(59) = 0.0025180912506669738023;
  weights(60) = 0.0025180912506669738023;
  weights(61) = 0.0025180912506669738023;
  weights(62) = 0.0025180912506669738023;
  weights(63) = 0.0048289401147234116418;
  weights(64) = 0.0048289401147234116418;
  weights(65) = 0.0048289401147234116418;
  weights(66) = 0.0048289401147234116418;
  weights(67) = 0.0048289401147234116418;
  weights(68) = 0.0048289401147234116418;
  weights(69) = 0.0038059575104429452935;
  weights(70) = 0.0038059575104429452935;
  weights(71) = 0.0038059575104429452935;
  weights(72) = 0.0038059575104429452935;
  weights(73) = 0.0038059575104429452935;
  weights(74) = 0.0038059575104429452935;
  weights(75) = 0.0055329319437995736972;
  weights(76) = 0.0055329319437995736972;
  weights(77) = 0.0055329319437995736972;
  weights(78) = 0.0055329319437995736972;
  weights(79) = 0.0055329319437995736972;
  weights(80) = 0.0055329319437995736972;
  weights(81) = 0.0032519198563248788783;
  weights(82) = 0.0032519198563248788783;
  weights(83) = 0.0032519198563248788783;
  weights(84) = 0.0032519198563248788783;
  weights(85) = 0.0032519198563248788783;
  weights(86) = 0.0032519198563248788783;
  weights(87) = 0.0024163436267425498355;
  weights(88) = 0.0024163436267425498355;
  weights(89) = 0.0024163436267425498355;
  weights(90) = 0.0024163436267425498355;
  weights(91) = 0.0024163436267425498355;
  weights(92) = 0.0024163436267425498355;
  weights(93) = 0.0032421126069192675659;
  weights(94) = 0.0032421126069192675659;
  weights(95) = 0.0032421126069192675659;
  weights(96) = 0.0032967572338747272963;
  weights(97) = 0.0032967572338747272963;
  weights(98) = 0.0032967572338747272963;
  weights(99) = 0.0032967572338747272963;
  weights(100) = 0.0032967572338747272963;
  weights(101) = 0.0032967572338747272963;
  weights(102) = 0.0041426332565503379973;
  weights(103) = 0.0041426332565503379973;
  weights(104) = 0.0041426332565503379973;
  weights(105) = 0.0041426332565503379973;
  weights(106) = 0.0041426332565503379973;
  weights(107) = 0.0041426332565503379973;
  weights(108) = 0.00069971469270154503916;
  weights(109) = 0.00069971469270154503916;
  weights(110) = 0.00069971469270154503916;
  weights(111) = 0.00069971469270154503916;
  weights(112) = 0.00069971469270154503916;
  weights(113) = 0.00069971469270154503916;
  weights(114) = 0.0029167168397771191246;
  weights(115) = 0.0029167168397771191246;
  weights(116) = 0.0029167168397771191246;
  weights(117) = 0.0018646854717090908821;
  weights(118) = 0.0018646854717090908821;
  weights(119) = 0.0018646854717090908821;
  weights(120) = 0.0030476320162441776496;
  weights(121) = 0.0030476320162441776496;
  weights(122) = 0.0030476320162441776496;
  weights(123) = 0.0030476320162441776496;
  weights(124) = 0.0030476320162441776496;
  weights(125) = 0.0030476320162441776496;
  weights(126) = 0.0038436553429818500274;
  weights(127) = 0.0038436553429818500274;
  weights(128) = 0.0038436553429818500274;
  weights(129) = 0.0015716030740796479905;
  weights(130) = 0.0015716030740796479905;
  weights(131) = 0.0015716030740796479905;
  weights(132) = 0.0015716030740796479905;
  weights(133) = 0.0015716030740796479905;
  weights(134) = 0.0015716030740796479905;
  weights(135) = 0.0011156658966766529097;
  weights(136) = 0.0011156658966766529097;
  weights(137) = 0.0011156658966766529097;
  weights(138) = 0.0011156658966766529097;
  weights(139) = 0.0011156658966766529097;
  weights(140) = 0.0011156658966766529097;
  weights(141) = 0.0001134806783854719472;
  weights(142) = 0.0001134806783854719472;
  weights(143) = 0.0001134806783854719472;
  weights(144) = 0.0054068496581348261809;
  weights(145) = 0.0054068496581348261809;
  weights(146) = 0.0054068496581348261809;
  weights(147) = 0.0022178654867209828157;
  weights(148) = 0.0022178654867209828157;
  weights(149) = 0.0022178654867209828157;
  weights(150) = 0.0022178654867209828157;
  weights(151) = 0.0022178654867209828157;
  weights(152) = 0.0022178654867209828157;
  weights(153) = 0.0053237224212444788848;
  weights(154) = 0.0053237224212444788848;
  weights(155) = 0.0053237224212444788848;
  weights(156) = 0.00038046308310905142596;
  weights(157) = 0.00038046308310905142596;
  weights(158) = 0.00038046308310905142596;
  weights(159) = 0.0017441636728719180863;
  weights(160) = 0.0017441636728719180863;
  weights(161) = 0.0017441636728719180863;
  weights(162) = 0.0017441636728719180863;
  weights(163) = 0.0017441636728719180863;
  weights(164) = 0.0017441636728719180863;
  weights(165) = 0.00036592293683505654981;
  weights(166) = 0.00036592293683505654981;
  weights(167) = 0.00036592293683505654981;
  weights(168) = 0.00036592293683505654981;
  weights(169) = 0.00036592293683505654981;
  weights(170) = 0.00036592293683505654981;
  weights(171) = 0.0044304696500765301803;
  weights(172) = 0.0044304696500765301803;
  weights(173) = 0.0044304696500765301803;
  weights(174) = 0.0041253987153764843515;
  weights(175) = 0.0041253987153764843515;
  weights(176) = 0.0041253987153764843515;
  weights(177) = 0.0041253987153764843515;
  weights(178) = 0.0041253987153764843515;
  weights(179) = 0.0041253987153764843515;
  weights(180) = 0.00024898378659855949268;
  weights(181) = 0.00024898378659855949268;
  weights(182) = 0.00024898378659855949268;
  weights(183) = 0.00024898378659855949268;
  weights(184) = 0.00024898378659855949268;
  weights(185) = 0.00024898378659855949268;
  weights(186) = 0.0060504824650855753426;
  weights(187) = 0.0014029090686568663603;
  weights(188) = 0.0014029090686568663603;
  weights(189) = 0.0014029090686568663603;
  weights(190) = 0.0014029090686568663603;
  weights(191) = 0.0014029090686568663603;
  weights(192) = 0.0014029090686568663603;
  weights(193) = 0.0047000705185991885349;
  weights(194) = 0.0047000705185991885349;
  weights(195) = 0.0047000705185991885349;
  weights(196) = 0.00028882528711737987968;
  weights(197) = 0.00028882528711737987968;
  weights(198) = 0.00028882528711737987968;
  weights(199) = 0.00028882528711737987968;
  weights(200) = 0.00028882528711737987968;
  weights(201) = 0.00028882528711737987968;
  weights(202) = 0.00098131440274167058314;
  weights(203) = 0.00098131440274167058314;
  weights(204) = 0.00098131440274167058314;
  weights(205) = 0.00098131440274167058314;
  weights(206) = 0.00098131440274167058314;
  weights(207) = 0.00098131440274167058314;
  weights(208) = 0.00014367267730406736693;
  weights(209) = 0.00014367267730406736693;
  weights(210) = 0.00014367267730406736693;
  weights(211) = 0.00014367267730406736693;
  weights(212) = 0.00014367267730406736693;
  weights(213) = 0.00014367267730406736693;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 34);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 35>() { // NOLINT
  Eigen::MatrixXd points(2, 228);
  Eigen::VectorXd weights(228);

  points(0, 0) = 0.30143516861731795009;
  points(1, 0) = 0.30143516861731811662;
  points(0, 1) = 0.39712966276536393329;
  points(1, 1) = 0.30143516861731811662;
  points(0, 2) = 0.3014351686173180056;
  points(1, 2) = 0.39712966276536404431;
  points(0, 3) = 0.49164140398289069012;
  points(1, 3) = 0.016717192034218619767;
  points(0, 4) = 0.49164140398289069012;
  points(1, 4) = 0.49164140398289074563;
  points(0, 5) = 0.016717192034218564256;
  points(1, 5) = 0.49164140398289091216;
  points(0, 6) = 0.35779313579859706174;
  points(1, 6) = 0.28441372840280582102;
  points(0, 7) = 0.35779313579859706174;
  points(1, 7) = 0.35779313579859722827;
  points(0, 8) = 0.28441372840280565448;
  points(1, 8) = 0.35779313579859728378;
  points(0, 9) = 0.055045479691531638833;
  points(1, 9) = 0.0020682202154059426032;
  points(0, 10) = 0.94288630009306240165;
  points(1, 10) = 0.055045479691531638833;
  points(0, 11) = 0.0020682202154061468669;
  points(1, 11) = 0.94288630009306240165;
  points(0, 12) = 0.94288630009306251267;
  points(1, 12) = 0.0020682202154059426032;
  points(0, 13) = 0.05504547969153178455;
  points(1, 13) = 0.94288630009306240165;
  points(0, 14) = 0.0020682202154057235943;
  points(1, 14) = 0.055045479691532020472;
  points(0, 15) = 0.44537646491529747639;
  points(1, 15) = 0.0089049941861278156946;
  points(0, 16) = 0.54571854089857463332;
  points(1, 16) = 0.4453764649152975319;
  points(0, 17) = 0.0089049941861278347766;
  points(1, 17) = 0.54571854089857485537;
  points(0, 18) = 0.54571854089857463332;
  points(1, 18) = 0.0089049941861278156946;
  points(0, 19) = 0.44537646491529758741;
  points(1, 19) = 0.54571854089857474435;
  points(0, 20) = 0.0089049941861276959987;
  points(1, 20) = 0.44537646491529775394;
  points(0, 21) = 0.15238400252431524851;
  points(1, 21) = 0.002115977563039867556;
  points(0, 22) = 0.84550001991264489565;
  points(1, 22) = 0.15238400252431524851;
  points(0, 23) = 0.0021159775630399391133;
  points(1, 23) = 0.84550001991264500667;
  points(0, 24) = 0.84550001991264489565;
  points(1, 24) = 0.002115977563039867556;
  points(0, 25) = 0.15238400252431538728;
  points(1, 25) = 0.84550001991264500667;
  points(0, 26) = 0.0021159775630396060464;
  points(1, 26) = 0.15238400252431560933;
  points(0, 27) = 0.26241396010934542327;
  points(1, 27) = 0.2624139601093455898;
  points(0, 28) = 0.47517207978130893142;
  points(1, 28) = 0.26241396010934553429;
  points(0, 29) = 0.2624139601093455898;
  points(1, 29) = 0.47517207978130909796;
  points(0, 30) = 0.39751661002823129865;
  points(1, 30) = 0.0032612734291312499291;
  points(0, 31) = 0.59922211654263746183;
  points(1, 31) = 0.39751661002823135416;
  points(0, 32) = 0.0032612734291311840096;
  points(1, 32) = 0.59922211654263768388;
  points(0, 33) = 0.59922211654263735081;
  points(1, 33) = 0.0032612734291312499291;
  points(0, 34) = 0.39751661002823135416;
  points(1, 34) = 0.59922211654263746183;
  points(0, 35) = 0.0032612734291311007429;
  points(1, 35) = 0.39751661002823163171;
  points(0, 36) = 0.40281645058578186003;
  points(1, 36) = 0.19436709882843633546;
  points(0, 37) = 0.40281645058578186003;
  points(1, 37) = 0.40281645058578191554;
  points(0, 38) = 0.19436709882843619668;
  points(1, 38) = 0.40281645058578202656;
  points(0, 39) = 0.15607876940347609196;
  points(1, 39) = 0.045167894813128654785;
  points(0, 40) = 0.79875333578339513529;
  points(1, 40) = 0.15607876940347611971;
  points(0, 41) = 0.045167894813128772746;
  points(1, 41) = 0.79875333578339535734;
  points(0, 42) = 0.79875333578339524632;
  points(1, 42) = 0.045167894813128654785;
  points(0, 43) = 0.15607876940347620298;
  points(1, 43) = 0.79875333578339535734;
  points(0, 44) = 0.045167894813128439679;
  points(1, 44) = 0.15607876940347642503;
  points(0, 45) = 0.47308896550066414921;
  points(1, 45) = 0.053822068998671722395;
  points(0, 46) = 0.47308896550066414921;
  points(1, 46) = 0.47308896550066420472;
  points(0, 47) = 0.053822068998671646067;
  points(1, 47) = 0.47308896550066437126;
  points(0, 48) = 0.19729567627655872353;
  points(1, 48) = 0.0086060217057568298704;
  points(0, 49) = 0.79409830201768438762;
  points(1, 49) = 0.19729567627655869577;
  points(0, 50) = 0.0086060217057569166066;
  points(1, 50) = 0.79409830201768460967;
  points(0, 51) = 0.79409830201768449864;
  points(1, 51) = 0.0086060217057568298704;
  points(0, 52) = 0.19729567627655875128;
  points(1, 52) = 0.79409830201768460967;
  points(0, 53) = 0.0086060217057566112953;
  points(1, 53) = 0.19729567627655902884;
  points(0, 54) = 0.050093836899926198758;
  points(1, 54) = 0.01397435325156836175;
  points(0, 55) = 0.93593180984850543602;
  points(1, 55) = 0.050093836899926157125;
  points(0, 56) = 0.013974353251568594203;
  points(1, 56) = 0.93593180984850543602;
  points(0, 57) = 0.93593180984850543602;
  points(1, 57) = 0.01397435325156836175;
  points(0, 58) = 0.050093836899926136308;
  points(1, 58) = 0.93593180984850576909;
  points(0, 59) = 0.013974353251568101542;
  points(1, 59) = 0.050093836899926511008;
  points(0, 60) = 0.29885906301431908183;
  points(1, 60) = 0.18747133249989450521;
  points(0, 61) = 0.51366960448578646847;
  points(1, 61) = 0.29885906301431919285;
  points(0, 62) = 0.1874713324998944497;
  points(1, 62) = 0.5136696044857865795;
  points(0, 63) = 0.51366960448578646847;
  points(1, 63) = 0.18747133249989450521;
  points(0, 64) = 0.29885906301431913734;
  points(1, 64) = 0.5136696044857865795;
  points(0, 65) = 0.18747133249989433867;
  points(1, 65) = 0.29885906301431930387;
  points(0, 66) = 0.062868049044065704711;
  points(1, 66) = 0.062868049044066010023;
  points(0, 67) = 0.87426390191186831302;
  points(1, 67) = 0.062868049044065663078;
  points(0, 68) = 0.062868049044066121045;
  points(1, 68) = 0.87426390191186842404;
  points(0, 69) = 0.44159743375493032413;
  points(1, 69) = 0.1168051324901393101;
  points(0, 70) = 0.44159743375493032413;
  points(1, 70) = 0.44159743375493043516;
  points(0, 71) = 0.11680513249013924071;
  points(1, 71) = 0.44159743375493054618;
  points(0, 72) = 0.019627159983470723187;
  points(1, 72) = 0.019627159983471038907;
  points(0, 73) = 0.96074568003305815811;
  points(1, 73) = 0.019627159983470719717;
  points(0, 74) = 0.01962715998347114299;
  points(1, 74) = 0.96074568003305838015;
  points(0, 75) = 0.33476334326533135899;
  points(1, 75) = 0.2327223440759485229;
  points(0, 76) = 0.43251431265872020138;
  points(1, 76) = 0.33476334326533147001;
  points(0, 77) = 0.23272234407594838412;
  points(1, 77) = 0.4325143126587203124;
  points(0, 78) = 0.43251431265872020138;
  points(1, 78) = 0.2327223440759485229;
  points(0, 79) = 0.33476334326533135899;
  points(1, 79) = 0.43251431265872020138;
  points(0, 80) = 0.23272234407594838412;
  points(1, 80) = 0.33476334326533152552;
  points(0, 81) = 0.20937282497637535461;
  points(1, 81) = 0.029001884614684524111;
  points(0, 82) = 0.76162529040894011434;
  points(1, 82) = 0.20937282497637538237;
  points(0, 83) = 0.029001884614684558805;
  points(1, 83) = 0.76162529040894033638;
  points(0, 84) = 0.76162529040894011434;
  points(1, 84) = 0.029001884614684524111;
  points(0, 85) = 0.20937282497637543788;
  points(1, 85) = 0.76162529040894022536;
  points(0, 86) = 0.029001884614684350638;
  points(1, 86) = 0.20937282497637563217;
  points(0, 87) = 0.10656474486138342583;
  points(1, 87) = 0.053567482867753528353;
  points(0, 88) = 0.83986777227086295561;
  points(1, 88) = 0.10656474486138346747;
  points(0, 89) = 0.053567482867753590803;
  points(1, 89) = 0.83986777227086317765;
  points(0, 90) = 0.83986777227086306663;
  points(1, 90) = 0.053567482867753528353;
  points(0, 91) = 0.10656474486138356461;
  points(1, 91) = 0.83986777227086317765;
  points(0, 92) = 0.053567482867753313247;
  points(1, 92) = 0.10656474486138378666;
  points(0, 93) = 0.32136262766954332148;
  points(1, 93) = 0.0034961943491435237656;
  points(0, 94) = 0.67514117798131312309;
  points(1, 94) = 0.321362627669543377;
  points(0, 95) = 0.0034961943491436109355;
  points(1, 95) = 0.67514117798131323411;
  points(0, 96) = 0.67514117798131312309;
  points(1, 96) = 0.0034961943491435237656;
  points(0, 97) = 0.321362627669543377;
  points(1, 97) = 0.67514117798131323411;
  points(0, 98) = 0.0034961943491433888909;
  points(1, 98) = 0.32136262766954359904;
  points(0, 99) = 0.24158702634798753794;
  points(1, 99) = 0.0011760427968417566137;
  points(0, 100) = 0.75723693085517063128;
  points(1, 100) = 0.2415870263479875657;
  points(0, 101) = 0.0011760427968418030176;
  points(1, 101) = 0.75723693085517085333;
  points(0, 102) = 0.7572369308551707423;
  points(1, 102) = 0.0011760427968417566137;
  points(0, 103) = 0.24158702634798762121;
  points(1, 103) = 0.75723693085517085333;
  points(0, 104) = 0.0011760427968416087285;
  points(1, 104) = 0.24158702634798784326;
  points(0, 105) = 0.33315309972076484479;
  points(1, 105) = 0.11395392874414837781;
  points(0, 106) = 0.55289297153508676352;
  points(1, 106) = 0.3331530997207649003;
  points(0, 107) = 0.11395392874414833617;
  points(1, 107) = 0.55289297153508698557;
  points(0, 108) = 0.55289297153508676352;
  points(1, 108) = 0.11395392874414837781;
  points(0, 109) = 0.33315309972076484479;
  points(1, 109) = 0.55289297153508687455;
  points(0, 110) = 0.11395392874414822515;
  points(1, 110) = 0.33315309972076512235;
  points(0, 111) = 0.1551165548133034422;
  points(1, 111) = 0.084938599511555037957;
  points(0, 112) = 0.75994484567514164475;
  points(1, 112) = 0.1551165548133034422;
  points(0, 113) = 0.084938599511555135102;
  points(1, 113) = 0.75994484567514164475;
  points(0, 114) = 0.75994484567514153373;
  points(1, 114) = 0.084938599511555037957;
  points(0, 115) = 0.1551165548133034422;
  points(1, 115) = 0.75994484567514164475;
  points(0, 116) = 0.084938599511554829791;
  points(1, 116) = 0.15511655481330371975;
  points(0, 117) = 0.37101415167746187862;
  points(1, 117) = 0.1525651863472163583;
  points(0, 118) = 0.47642066197532179084;
  points(1, 118) = 0.37101415167746198964;
  points(0, 119) = 0.15256518634721627503;
  points(1, 119) = 0.47642066197532195737;
  points(0, 120) = 0.47642066197532173533;
  points(1, 120) = 0.1525651863472163583;
  points(0, 121) = 0.37101415167746198964;
  points(1, 121) = 0.47642066197532179084;
  points(0, 122) = 0.15256518634721627503;
  points(1, 122) = 0.37101415167746210066;
  points(0, 123) = 0.040286868830193396651;
  points(1, 123) = 0.040286868830193708901;
  points(0, 124) = 0.91942626233961288751;
  points(1, 124) = 0.040286868830193389712;
  points(0, 125) = 0.040286868830193889313;
  points(1, 125) = 0.91942626233961288751;
  points(0, 126) = 0.27088366180777206926;
  points(1, 126) = 0.013618678109076628319;
  points(0, 127) = 0.71549766008315129895;
  points(1, 127) = 0.27088366180777206926;
  points(0, 128) = 0.013618678109076687299;
  points(1, 128) = 0.71549766008315152099;
  points(0, 129) = 0.71549766008315129895;
  points(1, 129) = 0.013618678109076628319;
  points(0, 130) = 0.27088366180777201375;
  points(1, 130) = 0.71549766008315152099;
  points(0, 131) = 0.013618678109076465255;
  points(1, 131) = 0.27088366180777234682;
  points(0, 132) = 0.35250674841546647542;
  points(1, 132) = 0.056226387443552391932;
  points(0, 133) = 0.59126686414098117428;
  points(1, 133) = 0.35250674841546653093;
  points(0, 134) = 0.056226387443552405809;
  points(1, 134) = 0.5912668641409812853;
  points(0, 135) = 0.59126686414098106326;
  points(1, 135) = 0.056226387443552391932;
  points(0, 136) = 0.35250674841546653093;
  points(1, 136) = 0.59126686414098117428;
  points(0, 137) = 0.05622638744355221152;
  points(1, 137) = 0.35250674841546675298;
  points(0, 138) = 0.40572013277819046762;
  points(1, 138) = 0.081753489439688215024;
  points(0, 139) = 0.51252637778212128961;
  points(1, 139) = 0.40572013277819052313;
  points(0, 140) = 0.081753489439688131757;
  points(1, 140) = 0.51252637778212151165;
  points(0, 141) = 0.51252637778212128961;
  points(1, 141) = 0.081753489439688215024;
  points(0, 142) = 0.40572013277819052313;
  points(1, 142) = 0.51252637778212140063;
  points(0, 143) = 0.081753489439688131757;
  points(1, 143) = 0.40572013277819063415;
  points(0, 144) = 0.21894968101499834301;
  points(1, 144) = 0.063642430189747384306;
  points(0, 145) = 0.71740788879525418942;
  points(1, 145) = 0.21894968101499837076;
  points(0, 146) = 0.063642430189747467573;
  points(1, 146) = 0.71740788879525441146;
  points(0, 147) = 0.71740788879525430044;
  points(1, 147) = 0.063642430189747384306;
  points(0, 148) = 0.21894968101499834301;
  points(1, 148) = 0.71740788879525441146;
  points(0, 149) = 0.063642430189747217772;
  points(1, 149) = 0.21894968101499862057;
  points(0, 150) = 0.20670924808556451202;
  points(1, 150) = 0.11539422083607410452;
  points(0, 151) = 0.67789653107836134183;
  points(1, 151) = 0.20670924808556453978;
  points(0, 152) = 0.11539422083607414615;
  points(1, 152) = 0.67789653107836145285;
  points(0, 153) = 0.67789653107836134183;
  points(1, 153) = 0.11539422083607410452;
  points(0, 154) = 0.20670924808556462304;
  points(1, 154) = 0.67789653107836145285;
  points(0, 155) = 0.1153942208360738686;
  points(1, 155) = 0.20670924808556478958;
  points(0, 156) = 0.098526154668792359503;
  points(1, 156) = 0.098526154668792595426;
  points(0, 157) = 0.80294769066241500344;
  points(1, 157) = 0.098526154668792401137;
  points(0, 158) = 0.098526154668792664815;
  points(1, 158) = 0.80294769066241511446;
  points(0, 159) = 0.25660108787909224892;
  points(1, 159) = 0.14818711628331071584;
  points(0, 160) = 0.59521179583759697973;
  points(1, 160) = 0.25660108787909235994;
  points(0, 161) = 0.14818711628331071584;
  points(1, 161) = 0.59521179583759709075;
  points(0, 162) = 0.59521179583759709075;
  points(1, 162) = 0.14818711628331071584;
  points(0, 163) = 0.25660108787909230443;
  points(1, 163) = 0.59521179583759709075;
  points(0, 164) = 0.1481871162833105493;
  points(1, 164) = 0.25660108787909252648;
  points(0, 165) = 0.13820629521124996875;
  points(1, 165) = 0.018597871061381398422;
  points(0, 166) = 0.84319583372736861548;
  points(1, 166) = 0.13820629521124994099;
  points(0, 167) = 0.018597871061381499036;
  points(1, 167) = 0.84319583372736872651;
  points(0, 168) = 0.84319583372736861548;
  points(1, 168) = 0.018597871061381398422;
  points(0, 169) = 0.13820629521125010752;
  points(1, 169) = 0.84319583372736872651;
  points(0, 170) = 0.018597871061381165969;
  points(1, 170) = 0.13820629521125027406;
  points(0, 171) = 0.13953446298930727298;
  points(1, 171) = 0.13953446298930752278;
  points(0, 172) = 0.72093107402138523199;
  points(1, 172) = 0.13953446298930727298;
  points(0, 173) = 0.13953446298930755054;
  points(1, 173) = 0.72093107402138534301;
  points(0, 174) = 0.22153601050969196073;
  points(1, 174) = 0.22153601050969221053;
  points(0, 175) = 0.55692797898061585649;
  points(1, 175) = 0.22153601050969207176;
  points(0, 176) = 0.22153601050969212727;
  points(1, 176) = 0.55692797898061596751;
  points(0, 177) = 0.42581020858548102037;
  points(1, 177) = 0.032971019926946378009;
  points(0, 178) = 0.54121877148757269183;
  points(1, 178) = 0.42581020858548102037;
  points(0, 179) = 0.032971019926946343315;
  points(1, 179) = 0.54121877148757280285;
  points(0, 180) = 0.5412187714875725808;
  points(1, 180) = 0.032971019926946378009;
  points(0, 181) = 0.42581020858548102037;
  points(1, 181) = 0.54121877148757269183;
  points(0, 182) = 0.032971019926946287804;
  points(1, 182) = 0.42581020858548124242;
  points(0, 183) = 0.18075032213529956815;
  points(1, 183) = 0.18075032213529976244;
  points(0, 184) = 0.63849935572940075268;
  points(1, 184) = 0.1807503221352995959;
  points(0, 185) = 0.18075032213529979019;
  points(1, 185) = 0.6384993557294008637;
  points(0, 186) = 0.27972592695224018922;
  points(1, 186) = 0.085379551572953862881;
  points(0, 187) = 0.63489452147480596178;
  points(1, 187) = 0.27972592695224024473;
  points(0, 188) = 0.085379551572953793492;
  points(1, 188) = 0.63489452147480618383;
  points(0, 189) = 0.63489452147480596178;
  points(1, 189) = 0.085379551572953862881;
  points(0, 190) = 0.27972592695224018922;
  points(1, 190) = 0.6348945214748060728;
  points(0, 191) = 0.08537955157295368247;
  points(1, 191) = 0.27972592695224041126;
  points(0, 192) = 0.022466683580211185833;
  points(1, 192) = 0.0036330558429339657352;
  points(0, 193) = 0.97390026057685474825;
  points(1, 193) = 0.022466683580211165017;
  points(0, 194) = 0.00363305584293416306;
  points(1, 194) = 0.9739002605768549703;
  points(0, 195) = 0.97390026057685474825;
  points(1, 195) = 0.0036330558429339657352;
  points(0, 196) = 0.022466683580211310733;
  points(1, 196) = 0.9739002605768549703;
  points(0, 197) = 0.0036330558429336322346;
  points(1, 197) = 0.022466683580211484206;
  points(0, 198) = 0.083862258524455418618;
  points(1, 198) = 0.026020077662363961385;
  points(0, 199) = 0.89011766381318058183;
  points(1, 199) = 0.083862258524455418618;
  points(0, 200) = 0.026020077662363971793;
  points(1, 200) = 0.89011766381318080388;
  points(0, 201) = 0.89011766381318058183;
  points(1, 201) = 0.026020077662363961385;
  points(0, 202) = 0.083862258524455446373;
  points(1, 202) = 0.89011766381318080388;
  points(0, 203) = 0.026020077662363721993;
  points(1, 203) = 0.08386225852445577944;
  points(0, 204) = 0.28480034641446827504;
  points(1, 204) = 0.039456926156438122677;
  points(0, 205) = 0.67574272742909347045;
  points(1, 205) = 0.28480034641446833055;
  points(0, 206) = 0.039456926156438143494;
  points(1, 206) = 0.67574272742909369249;
  points(0, 207) = 0.67574272742909358147;
  points(1, 207) = 0.039456926156438122677;
  points(0, 208) = 0.28480034641446827504;
  points(1, 208) = 0.67574272742909369249;
  points(0, 209) = 0.039456926156438004716;
  points(1, 209) = 0.28480034641446855259;
  points(0, 210) = 0.35659410353657383652;
  points(1, 210) = 0.019770717704408188181;
  points(0, 211) = 0.62363517875901797183;
  points(1, 211) = 0.35659410353657383652;
  points(0, 212) = 0.019770717704408247162;
  points(1, 212) = 0.62363517875901808285;
  points(0, 213) = 0.62363517875901797183;
  points(1, 213) = 0.019770717704408188181;
  points(0, 214) = 0.35659410353657378101;
  points(1, 214) = 0.62363517875901808285;
  points(0, 215) = 0.019770717704408080628;
  points(1, 215) = 0.35659410353657405857;
  points(0, 216) = 0.097424231115138038017;
  points(1, 216) = 0.005028697415627387049;
  points(0, 217) = 0.89754707146923451422;
  points(1, 217) = 0.097424231115138038017;
  points(0, 218) = 0.0050286974156275032755;
  points(1, 218) = 0.89754707146923473626;
  points(0, 219) = 0.89754707146923462524;
  points(1, 219) = 0.005028697415627387049;
  points(0, 220) = 0.09742423111513814904;
  points(1, 220) = 0.89754707146923473626;
  points(0, 221) = 0.0050286974156271493919;
  points(1, 221) = 0.097424231115138357207;
  points(0, 222) = 0.0042772072684829562372;
  points(1, 222) = 0.0042772072684832546097;
  points(0, 223) = 0.99144558546303374058;
  points(1, 223) = 0.0042772072684829345532;
  points(0, 224) = 0.0042772072684834072653;
  points(1, 224) = 0.9914455854630338516;
  points(0, 225) = 0.49991322248622510616;
  points(1, 225) = 0.00017355502754976749494;
  points(0, 226) = 0.49991322248622505064;
  points(1, 226) = 0.49991322248622521718;
  points(0, 227) = 0.00017355502754970442147;
  points(1, 227) = 0.4999132224862253282;

  weights(0) = 0.0028739670148350926308;
  weights(1) = 0.0028739670148350926308;
  weights(2) = 0.0028739670148350926308;
  weights(3) = 0.0011481840460497157001;
  weights(4) = 0.0011481840460497157001;
  weights(5) = 0.0011481840460497157001;
  weights(6) = 0.0039976754209321580663;
  weights(7) = 0.0039976754209321580663;
  weights(8) = 0.0039976754209321580663;
  weights(9) = 0.00022709969118769879337;
  weights(10) = 0.00022709969118769879337;
  weights(11) = 0.00022709969118769879337;
  weights(12) = 0.00022709969118769879337;
  weights(13) = 0.00022709969118769879337;
  weights(14) = 0.00022709969118769879337;
  weights(15) = 0.00098587466549208556572;
  weights(16) = 0.00098587466549208556572;
  weights(17) = 0.00098587466549208556572;
  weights(18) = 0.00098587466549208556572;
  weights(19) = 0.00098587466549208556572;
  weights(20) = 0.00098587466549208556572;
  weights(21) = 0.0003913331527196769132;
  weights(22) = 0.0003913331527196769132;
  weights(23) = 0.0003913331527196769132;
  weights(24) = 0.0003913331527196769132;
  weights(25) = 0.0003913331527196769132;
  weights(26) = 0.0003913331527196769132;
  weights(27) = 0.004395092946663900664;
  weights(28) = 0.004395092946663900664;
  weights(29) = 0.004395092946663900664;
  weights(30) = 0.00063234655119858557398;
  weights(31) = 0.00063234655119858557398;
  weights(32) = 0.00063234655119858557398;
  weights(33) = 0.00063234655119858557398;
  weights(34) = 0.00063234655119858557398;
  weights(35) = 0.00063234655119858557398;
  weights(36) = 0.0041601833061628143082;
  weights(37) = 0.0041601833061628143082;
  weights(38) = 0.0041601833061628143082;
  weights(39) = 0.0017786281304547570028;
  weights(40) = 0.0017786281304547570028;
  weights(41) = 0.0017786281304547570028;
  weights(42) = 0.0017786281304547570028;
  weights(43) = 0.0017786281304547570028;
  weights(44) = 0.0017786281304547570028;
  weights(45) = 0.0026375941425807476054;
  weights(46) = 0.0026375941425807476054;
  weights(47) = 0.0026375941425807476054;
  weights(48) = 0.00092141633158775333723;
  weights(49) = 0.00092141633158775333723;
  weights(50) = 0.00092141633158775333723;
  weights(51) = 0.00092141633158775333723;
  weights(52) = 0.00092141633158775333723;
  weights(53) = 0.00092141633158775333723;
  weights(54) = 0.0006644899678270796417;
  weights(55) = 0.0006644899678270796417;
  weights(56) = 0.0006644899678270796417;
  weights(57) = 0.0006644899678270796417;
  weights(58) = 0.0006644899678270796417;
  weights(59) = 0.0006644899678270796417;
  weights(60) = 0.0045117064275531143167;
  weights(61) = 0.0045117064275531143167;
  weights(62) = 0.0045117064275531143167;
  weights(63) = 0.0045117064275531143167;
  weights(64) = 0.0045117064275531143167;
  weights(65) = 0.0045117064275531143167;
  weights(66) = 0.0014841033195258017223;
  weights(67) = 0.0014841033195258017223;
  weights(68) = 0.0014841033195258017223;
  weights(69) = 0.0038025912652681799486;
  weights(70) = 0.0038025912652681799486;
  weights(71) = 0.0038025912652681799486;
  weights(72) = 0.00050656051636903962412;
  weights(73) = 0.00050656051636903962412;
  weights(74) = 0.00050656051636903962412;
  weights(75) = 0.0043027522470419268114;
  weights(76) = 0.0043027522470419268114;
  weights(77) = 0.0043027522470419268114;
  weights(78) = 0.0043027522470419268114;
  weights(79) = 0.0043027522470419268114;
  weights(80) = 0.0043027522470419268114;
  weights(81) = 0.0018052339984969175812;
  weights(82) = 0.0018052339984969175812;
  weights(83) = 0.0018052339984969175812;
  weights(84) = 0.0018052339984969175812;
  weights(85) = 0.0018052339984969175812;
  weights(86) = 0.0018052339984969175812;
  weights(87) = 0.0017617803836053995154;
  weights(88) = 0.0017617803836053995154;
  weights(89) = 0.0017617803836053995154;
  weights(90) = 0.0017617803836053995154;
  weights(91) = 0.0017617803836053995154;
  weights(92) = 0.0017617803836053995154;
  weights(93) = 0.00068903826100318336587;
  weights(94) = 0.00068903826100318336587;
  weights(95) = 0.00068903826100318336587;
  weights(96) = 0.00068903826100318336587;
  weights(97) = 0.00068903826100318336587;
  weights(98) = 0.00068903826100318336587;
  weights(99) = 0.00034751479297592856657;
  weights(100) = 0.00034751479297592856657;
  weights(101) = 0.00034751479297592856657;
  weights(102) = 0.00034751479297592856657;
  weights(103) = 0.00034751479297592856657;
  weights(104) = 0.00034751479297592856657;
  weights(105) = 0.0040648602990389984257;
  weights(106) = 0.0040648602990389984257;
  weights(107) = 0.0040648602990389984257;
  weights(108) = 0.0040648602990389984257;
  weights(109) = 0.0040648602990389984257;
  weights(110) = 0.0040648602990389984257;
  weights(111) = 0.0027448281799333559133;
  weights(112) = 0.0027448281799333559133;
  weights(113) = 0.0027448281799333559133;
  weights(114) = 0.0027448281799333559133;
  weights(115) = 0.0027448281799333559133;
  weights(116) = 0.0027448281799333559133;
  weights(117) = 0.004117993661429127962;
  weights(118) = 0.004117993661429127962;
  weights(119) = 0.004117993661429127962;
  weights(120) = 0.004117993661429127962;
  weights(121) = 0.004117993661429127962;
  weights(122) = 0.004117993661429127962;
  weights(123) = 0.001032417813299163576;
  weights(124) = 0.001032417813299163576;
  weights(125) = 0.001032417813299163576;
  weights(126) = 0.0013898867596812847919;
  weights(127) = 0.0013898867596812847919;
  weights(128) = 0.0013898867596812847919;
  weights(129) = 0.0013898867596812847919;
  weights(130) = 0.0013898867596812847919;
  weights(131) = 0.0013898867596812847919;
  weights(132) = 0.0031658909407417004482;
  weights(133) = 0.0031658909407417004482;
  weights(134) = 0.0031658909407417004482;
  weights(135) = 0.0031658909407417004482;
  weights(136) = 0.0031658909407417004482;
  weights(137) = 0.0031658909407417004482;
  weights(138) = 0.0034728553599707953116;
  weights(139) = 0.0034728553599707953116;
  weights(140) = 0.0034728553599707953116;
  weights(141) = 0.0034728553599707953116;
  weights(142) = 0.0034728553599707953116;
  weights(143) = 0.0034728553599707953116;
  weights(144) = 0.0027829705578430474246;
  weights(145) = 0.0027829705578430474246;
  weights(146) = 0.0027829705578430474246;
  weights(147) = 0.0027829705578430474246;
  weights(148) = 0.0027829705578430474246;
  weights(149) = 0.0027829705578430474246;
  weights(150) = 0.0036688050783813411573;
  weights(151) = 0.0036688050783813411573;
  weights(152) = 0.0036688050783813411573;
  weights(153) = 0.0036688050783813411573;
  weights(154) = 0.0036688050783813411573;
  weights(155) = 0.0036688050783813411573;
  weights(156) = 0.0025018198077786674843;
  weights(157) = 0.0025018198077786674843;
  weights(158) = 0.0025018198077786674843;
  weights(159) = 0.0043557133117804363101;
  weights(160) = 0.0043557133117804363101;
  weights(161) = 0.0043557133117804363101;
  weights(162) = 0.0043557133117804363101;
  weights(163) = 0.0043557133117804363101;
  weights(164) = 0.0043557133117804363101;
  weights(165) = 0.0013683747163610101173;
  weights(166) = 0.0013683747163610101173;
  weights(167) = 0.0013683747163610101173;
  weights(168) = 0.0013683747163610101173;
  weights(169) = 0.0013683747163610101173;
  weights(170) = 0.0013683747163610101173;
  weights(171) = 0.0033595399062086978535;
  weights(172) = 0.0033595399062086978535;
  weights(173) = 0.0033595399062086978535;
  weights(174) = 0.0045809544704686535471;
  weights(175) = 0.0045809544704686535471;
  weights(176) = 0.0045809544704686535471;
  weights(177) = 0.0023508287904660928741;
  weights(178) = 0.0023508287904660928741;
  weights(179) = 0.0023508287904660928741;
  weights(180) = 0.0023508287904660928741;
  weights(181) = 0.0023508287904660928741;
  weights(182) = 0.0023508287904660928741;
  weights(183) = 0.0041859533185064834102;
  weights(184) = 0.0041859533185064834102;
  weights(185) = 0.0041859533185064834102;
  weights(186) = 0.0035875044799663596655;
  weights(187) = 0.0035875044799663596655;
  weights(188) = 0.0035875044799663596655;
  weights(189) = 0.0035875044799663596655;
  weights(190) = 0.0035875044799663596655;
  weights(191) = 0.0035875044799663596655;
  weights(192) = 0.00023662348690024466533;
  weights(193) = 0.00023662348690024466533;
  weights(194) = 0.00023662348690024466533;
  weights(195) = 0.00023662348690024466533;
  weights(196) = 0.00023662348690024466533;
  weights(197) = 0.00023662348690024466533;
  weights(198) = 0.0012673310556838911049;
  weights(199) = 0.0012673310556838911049;
  weights(200) = 0.0012673310556838911049;
  weights(201) = 0.0012673310556838911049;
  weights(202) = 0.0012673310556838911049;
  weights(203) = 0.0012673310556838911049;
  weights(204) = 0.0025350786500057003771;
  weights(205) = 0.0025350786500057003771;
  weights(206) = 0.0025350786500057003771;
  weights(207) = 0.0025350786500057003771;
  weights(208) = 0.0025350786500057003771;
  weights(209) = 0.0025350786500057003771;
  weights(210) = 0.0020270360434420132967;
  weights(211) = 0.0020270360434420132967;
  weights(212) = 0.0020270360434420132967;
  weights(213) = 0.0020270360434420132967;
  weights(214) = 0.0020270360434420132967;
  weights(215) = 0.0020270360434420132967;
  weights(216) = 0.00062723919362050865357;
  weights(217) = 0.00062723919362050865357;
  weights(218) = 0.00062723919362050865357;
  weights(219) = 0.00062723919362050865357;
  weights(220) = 0.00062723919362050865357;
  weights(221) = 0.00062723919362050865357;
  weights(222) = 0.00012016686870242065423;
  weights(223) = 0.00012016686870242065423;
  weights(224) = 0.00012016686870242065423;
  weights(225) = 0.00031379217053528258479;
  weights(226) = 0.00031379217053528258479;
  weights(227) = 0.00031379217053528258479;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 35);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 36>() { // NOLINT
  Eigen::MatrixXd points(2, 243);
  Eigen::VectorXd weights(243);

  points(0, 0) = 0.25500233607541950009;
  points(1, 0) = 0.032292263973769365359;
  points(0, 1) = 0.71270539995081116924;
  points(1, 1) = 0.25500233607541950009;
  points(0, 2) = 0.032292263973769441687;
  points(1, 2) = 0.71270539995081128026;
  points(0, 3) = 0.71270539995081116924;
  points(1, 3) = 0.032292263973769365359;
  points(0, 4) = 0.25500233607541955561;
  points(1, 4) = 0.71270539995081128026;
  points(0, 5) = 0.032292263973769219643;
  points(1, 5) = 0.25500233607541977765;
  points(0, 6) = 0.27112151360333996974;
  points(1, 6) = 0.094140209804408167549;
  points(0, 7) = 0.63473827659225190434;
  points(1, 7) = 0.27112151360334002526;
  points(0, 8) = 0.094140209804408181427;
  points(1, 8) = 0.63473827659225201536;
  points(0, 9) = 0.63473827659225190434;
  points(1, 9) = 0.094140209804408167549;
  points(0, 10) = 0.27112151360334002526;
  points(1, 10) = 0.63473827659225201536;
  points(0, 11) = 0.094140209804407959382;
  points(1, 11) = 0.2711215136033402473;
  points(0, 12) = 0.092688604484875536382;
  points(1, 12) = 0.064993672104240216014;
  points(0, 13) = 0.84231772341088417821;
  points(1, 13) = 0.09268860448487555026;
  points(0, 14) = 0.064993672104240340914;
  points(1, 14) = 0.84231772341088428924;
  points(0, 15) = 0.84231772341088428924;
  points(1, 15) = 0.064993672104240216014;
  points(0, 16) = 0.092688604484875702916;
  points(1, 16) = 0.84231772341088428924;
  points(0, 17) = 0.064993672104240035603;
  points(1, 17) = 0.092688604484875869449;
  points(0, 18) = 0.32945437658455051233;
  points(1, 18) = 0.073713664453418786815;
  points(0, 19) = 0.5968319589620306731;
  points(1, 19) = 0.32945437658455051233;
  points(0, 20) = 0.073713664453418814571;
  points(1, 20) = 0.59683195896203089514;
  points(0, 21) = 0.5968319589620306731;
  points(1, 21) = 0.073713664453418786815;
  points(0, 22) = 0.32945437658455045682;
  points(1, 22) = 0.59683195896203078412;
  points(0, 23) = 0.073713664453418675793;
  points(1, 23) = 0.32945437658455073437;
  points(0, 24) = 0.28837884113044204293;
  points(1, 24) = 0.050064988146891933884;
  points(0, 25) = 0.66155617072266603707;
  points(1, 25) = 0.28837884113044209844;
  points(0, 26) = 0.050064988146891975518;
  points(1, 26) = 0.66155617072266603707;
  points(0, 27) = 0.66155617072266592604;
  points(1, 27) = 0.050064988146891933884;
  points(0, 28) = 0.28837884113044209844;
  points(1, 28) = 0.66155617072266603707;
  points(0, 29) = 0.050064988146891808984;
  points(1, 29) = 0.28837884113044232048;
  points(0, 30) = 0.39217241640517386259;
  points(1, 30) = 0.065896338474894677883;
  points(0, 31) = 0.54193124511993151504;
  points(1, 31) = 0.3921724164051739181;
  points(0, 32) = 0.065896338474894622372;
  points(1, 32) = 0.54193124511993173709;
  points(0, 33) = 0.54193124511993140402;
  points(1, 33) = 0.065896338474894677883;
  points(0, 34) = 0.39217241640517375156;
  points(1, 34) = 0.54193124511993162606;
  points(0, 35) = 0.065896338474894594617;
  points(1, 35) = 0.39217241640517402912;
  points(0, 36) = 0.0076222500155876176872;
  points(1, 36) = 0.0012341185277632714303;
  points(0, 37) = 0.99114363145664907684;
  points(1, 37) = 0.0076222500155875760539;
  points(0, 38) = 0.0012341185277635058348;
  points(1, 38) = 0.99114363145664907684;
  points(0, 39) = 0.99114363145664907684;
  points(1, 39) = 0.0012341185277632714303;
  points(0, 40) = 0.0076222500155876393713;
  points(1, 40) = 0.99114363145664940991;
  points(0, 41) = 0.0012341185277629841167;
  points(1, 41) = 0.0076222500155879611625;
  points(0, 42) = 0.41235734031363030505;
  points(1, 42) = 0.17528531937273941765;
  points(0, 43) = 0.41235734031363030505;
  points(1, 43) = 0.41235734031363036056;
  points(0, 44) = 0.17528531937273927888;
  points(1, 44) = 0.41235734031363047158;
  points(0, 45) = 0.17820793662797568269;
  points(1, 45) = 0.10569582732760986199;
  points(0, 46) = 0.71609623604441452471;
  points(1, 46) = 0.17820793662797571044;
  points(0, 47) = 0.10569582732760990362;
  points(1, 47) = 0.71609623604441463574;
  points(0, 48) = 0.71609623604441452471;
  points(1, 48) = 0.10569582732760986199;
  points(0, 49) = 0.17820793662797568269;
  points(1, 49) = 0.71609623604441463574;
  points(0, 50) = 0.10569582732760968158;
  points(1, 50) = 0.17820793662797596024;
  points(0, 51) = 0.31024893145991361276;
  points(1, 51) = 0.12387167039555090076;
  points(0, 52) = 0.5658793981445354726;
  points(1, 52) = 0.31024893145991366827;
  points(0, 53) = 0.12387167039555085912;
  points(1, 53) = 0.56587939814453569465;
  points(0, 54) = 0.5658793981445354726;
  points(1, 54) = 0.12387167039555090076;
  points(0, 55) = 0.31024893145991355725;
  points(1, 55) = 0.56587939814453569465;
  points(0, 56) = 0.12387167039555077586;
  points(1, 56) = 0.3102489314599137793;
  points(0, 57) = 0.43904838324584349873;
  points(1, 57) = 0.12190323350831298865;
  points(0, 58) = 0.43904838324584349873;
  points(1, 58) = 0.43904838324584360976;
  points(0, 59) = 0.12190323350831289151;
  points(1, 59) = 0.43904838324584372078;
  points(0, 60) = 0.082915702133125185336;
  points(1, 60) = 0.0028073976185661406874;
  points(0, 61) = 0.91427690024830865489;
  points(1, 61) = 0.082915702133125199214;
  points(0, 62) = 0.0028073976185661875249;
  points(1, 62) = 0.91427690024830887694;
  points(0, 63) = 0.91427690024830876592;
  points(1, 63) = 0.0028073976185661406874;
  points(0, 64) = 0.082915702133125268602;
  points(1, 64) = 0.91427690024830887694;
  points(0, 65) = 0.0028073976185659377247;
  points(1, 65) = 0.082915702133125546158;
  points(0, 66) = 0.37963867934694311979;
  points(1, 66) = 0.11068977832602124034;
  points(0, 67) = 0.50967154232703559824;
  points(1, 67) = 0.37963867934694323081;
  points(0, 68) = 0.11068977832602117095;
  points(1, 68) = 0.50967154232703582029;
  points(0, 69) = 0.50967154232703559824;
  points(1, 69) = 0.11068977832602124034;
  points(0, 70) = 0.37963867934694311979;
  points(1, 70) = 0.50967154232703582029;
  points(0, 71) = 0.11068977832602108768;
  points(1, 71) = 0.37963867934694334183;
  points(0, 72) = 0.23505232545821369561;
  points(1, 72) = 0.23505232545821386214;
  points(0, 73) = 0.52989534908357249776;
  points(1, 73) = 0.23505232545821377887;
  points(0, 74) = 0.23505232545821380663;
  points(1, 74) = 0.52989534908357260878;
  points(0, 75) = 0.19806829211454335393;
  points(1, 75) = 0.0027564226137056554305;
  points(0, 76) = 0.79917528527175096809;
  points(1, 76) = 0.19806829211454335393;
  points(0, 77) = 0.0027564226137057334931;
  points(1, 77) = 0.79917528527175119013;
  points(0, 78) = 0.79917528527175107911;
  points(1, 78) = 0.0027564226137056554305;
  points(0, 79) = 0.19806829211454335393;
  points(1, 79) = 0.79917528527175107911;
  points(0, 80) = 0.0027564226137054836929;
  points(1, 80) = 0.19806829211454363149;
  points(0, 81) = 0.14794794532207303228;
  points(1, 81) = 0.072051699096015900392;
  points(0, 82) = 0.78000035558191094243;
  points(1, 82) = 0.14794794532207303228;
  points(0, 83) = 0.072051699096015942025;
  points(1, 83) = 0.78000035558191127549;
  points(0, 84) = 0.78000035558191105345;
  points(1, 84) = 0.072051699096015900392;
  points(0, 85) = 0.14794794532207311555;
  points(1, 85) = 0.78000035558191127549;
  points(0, 86) = 0.07205169909601566447;
  points(1, 86) = 0.14794794532207333759;
  points(0, 87) = 0.22920276655346732975;
  points(1, 87) = 0.014428611570684292398;
  points(0, 88) = 0.75636862187584841255;
  points(1, 88) = 0.2292027665534673575;
  points(0, 89) = 0.014428611570684313214;
  points(1, 89) = 0.75636862187584852357;
  points(0, 90) = 0.75636862187584841255;
  points(1, 90) = 0.014428611570684292398;
  points(0, 91) = 0.22920276655346744077;
  points(1, 91) = 0.75636862187584841255;
  points(0, 92) = 0.014428611570684146681;
  points(1, 92) = 0.2292027665534676073;
  points(0, 93) = 0.3574738503443845028;
  points(1, 93) = 0.0027425666974118688077;
  points(0, 94) = 0.63978358295820358936;
  points(1, 94) = 0.35747385034438455831;
  points(0, 95) = 0.002742566697411907839;
  points(1, 95) = 0.63978358295820381141;
  points(0, 96) = 0.63978358295820358936;
  points(1, 96) = 0.0027425666974118688077;
  points(0, 97) = 0.35747385034438444729;
  points(1, 97) = 0.63978358295820381141;
  points(0, 98) = 0.0027425666974117135499;
  points(1, 98) = 0.35747385034438478035;
  points(0, 99) = 0.12524967222943772516;
  points(1, 99) = 0.039024329842215925435;
  points(0, 100) = 0.83572599792834623145;
  points(1, 100) = 0.12524967222943775291;
  points(0, 101) = 0.039024329842216043396;
  points(1, 101) = 0.83572599792834645349;
  points(0, 102) = 0.83572599792834634247;
  points(1, 102) = 0.039024329842215925435;
  points(0, 103) = 0.12524967222943783618;
  points(1, 103) = 0.83572599792834645349;
  points(0, 104) = 0.039024329842215668696;
  points(1, 104) = 0.12524967222943803047;
  points(0, 105) = 0.020980564600406238773;
  points(1, 105) = 0.0074746634659333269571;
  points(0, 106) = 0.97154477193366040044;
  points(1, 106) = 0.020980564600406235304;
  points(0, 107) = 0.007474663465933506501;
  points(1, 107) = 0.97154477193366051146;
  points(0, 108) = 0.97154477193366040044;
  points(1, 108) = 0.0074746634659333269571;
  points(0, 109) = 0.020980564600406315101;
  points(1, 109) = 0.97154477193366051146;
  points(0, 110) = 0.0074746634659330780243;
  points(1, 110) = 0.020980564600406616943;
  points(0, 111) = 0.26913161174400973552;
  points(1, 111) = 0.17557177860151926274;
  points(0, 112) = 0.55529660965447091847;
  points(1, 112) = 0.26913161174400979103;
  points(0, 113) = 0.17557177860151917947;
  points(1, 113) = 0.55529660965447125154;
  points(0, 114) = 0.55529660965447102949;
  points(1, 114) = 0.17557177860151926274;
  points(0, 115) = 0.26913161174400979103;
  points(1, 115) = 0.55529660965447114052;
  points(0, 116) = 0.17557177860151909621;
  points(1, 116) = 0.26913161174400995757;
  points(0, 117) = 0.15082173477989152532;
  points(1, 117) = 0.15082173477989177512;
  points(0, 118) = 0.69835653044021661628;
  points(1, 118) = 0.15082173477989158084;
  points(0, 119) = 0.15082173477989185839;
  points(1, 119) = 0.69835653044021672731;
  points(0, 120) = 0.34621987242189355971;
  points(1, 120) = 0.17122675885075291924;
  points(0, 121) = 0.48255336872735354881;
  points(1, 121) = 0.34621987242189361522;
  points(0, 122) = 0.17122675885075286373;
  points(1, 122) = 0.48255336872735371534;
  points(0, 123) = 0.48255336872735360432;
  points(1, 123) = 0.17122675885075291924;
  points(0, 124) = 0.3462198724218935042;
  points(1, 124) = 0.48255336872735365983;
  points(0, 125) = 0.17122675885075280822;
  points(1, 125) = 0.34621987242189372624;
  points(0, 126) = 0.44238774265806851682;
  points(1, 126) = 0.034306143454093683542;
  points(0, 127) = 0.52330611388783787596;
  points(1, 127) = 0.44238774265806857233;
  points(0, 128) = 0.034306143454093662726;
  points(1, 128) = 0.52330611388783798699;
  points(0, 129) = 0.52330611388783787596;
  points(1, 129) = 0.034306143454093683542;
  points(0, 130) = 0.44238774265806857233;
  points(1, 130) = 0.52330611388783787596;
  points(0, 131) = 0.034306143454093579459;
  points(1, 131) = 0.44238774265806873887;
  points(0, 132) = 0.27463388372265884474;
  points(1, 132) = 0.0030296355118471073736;
  points(0, 133) = 0.72233648076549417105;
  points(1, 133) = 0.27463388372265884474;
  points(0, 134) = 0.0030296355118472062529;
  points(1, 134) = 0.72233648076549417105;
  points(0, 135) = 0.72233648076549406003;
  points(1, 135) = 0.0030296355118471073736;
  points(0, 136) = 0.27463388372265884474;
  points(1, 136) = 0.72233648076549417105;
  points(0, 137) = 0.003029635511846873186;
  points(1, 137) = 0.27463388372265917781;
  points(0, 138) = 0.22370128465514410587;
  points(1, 138) = 0.072486958455644137644;
  points(0, 139) = 0.70381175688921182587;
  points(1, 139) = 0.22370128465514413363;
  points(0, 140) = 0.072486958455644123767;
  points(1, 140) = 0.70381175688921204792;
  points(0, 141) = 0.70381175688921171485;
  points(1, 141) = 0.072486958455644137644;
  points(0, 142) = 0.22370128465514416138;
  points(1, 142) = 0.70381175688921193689;
  points(0, 143) = 0.072486958455643957233;
  points(1, 143) = 0.22370128465514438343;
  points(0, 144) = 0.22647294751162977411;
  points(1, 144) = 0.13381702334066394866;
  points(0, 145) = 0.63971002914770624947;
  points(1, 145) = 0.22647294751162977411;
  points(0, 146) = 0.13381702334066397642;
  points(1, 146) = 0.63971002914770647152;
  points(0, 147) = 0.6397100291477063605;
  points(1, 147) = 0.13381702334066394866;
  points(0, 148) = 0.2264729475116297186;
  points(1, 148) = 0.63971002914770647152;
  points(0, 149) = 0.13381702334066380988;
  points(1, 149) = 0.2264729475116299684;
  points(0, 150) = 0.16336196682937043079;
  points(1, 150) = 0.017674220238250274578;
  points(0, 151) = 0.8189638129323792981;
  points(1, 151) = 0.16336196682937043079;
  points(0, 152) = 0.01767422023825032662;
  points(1, 152) = 0.81896381293237940913;
  points(0, 153) = 0.8189638129323792981;
  points(1, 153) = 0.017674220238250274578;
  points(0, 154) = 0.1633619668293704863;
  points(1, 154) = 0.81896381293237940913;
  points(0, 155) = 0.017674220238250021309;
  points(1, 155) = 0.16336196682937070834;
  points(0, 156) = 0.19079127285437885719;
  points(1, 156) = 0.042208217039582107688;
  points(0, 157) = 0.76700051010603909063;
  points(1, 157) = 0.19079127285437885719;
  points(0, 158) = 0.042208217039582163199;
  points(1, 158) = 0.76700051010603920165;
  points(0, 159) = 0.76700051010603897961;
  points(1, 159) = 0.042208217039582107688;
  points(0, 160) = 0.1907912728543789127;
  points(1, 160) = 0.76700051010603909063;
  points(0, 161) = 0.042208217039581941155;
  points(1, 161) = 0.19079127285437913475;
  points(0, 162) = 0.35816587063143068281;
  points(1, 162) = 0.034416320396989615038;
  points(0, 163) = 0.60741780897157970909;
  points(1, 163) = 0.35816587063143073832;
  points(0, 164) = 0.034416320396989608099;
  points(1, 164) = 0.60741780897157982011;
  points(0, 165) = 0.60741780897157970909;
  points(1, 165) = 0.034416320396989615038;
  points(0, 166) = 0.35816587063143068281;
  points(1, 166) = 0.60741780897157982011;
  points(0, 167) = 0.034416320396989497077;
  points(1, 167) = 0.35816587063143090486;
  points(0, 168) = 0.099384989205052190475;
  points(1, 168) = 0.01745299026102050885;
  points(0, 169) = 0.88316202053392722782;
  points(1, 169) = 0.099384989205052190475;
  points(0, 170) = 0.017452990261020651097;
  points(1, 170) = 0.88316202053392733884;
  points(0, 171) = 0.88316202053392733884;
  points(1, 171) = 0.01745299026102050885;
  points(0, 172) = 0.09938498920505228762;
  points(1, 172) = 0.88316202053392733884;
  points(0, 173) = 0.017452990261020269458;
  points(1, 173) = 0.099384989205052551298;
  points(0, 174) = 0.45023289789165238384;
  points(1, 174) = 0.0012278348447230759063;
  points(0, 175) = 0.54853926726362456368;
  points(1, 175) = 0.45023289789165249486;
  points(0, 176) = 0.0012278348447229969764;
  points(1, 176) = 0.54853926726362478572;
  points(0, 177) = 0.54853926726362456368;
  points(1, 177) = 0.0012278348447230759063;
  points(0, 178) = 0.45023289789165249486;
  points(1, 178) = 0.54853926726362456368;
  points(0, 179) = 0.0012278348447229969764;
  points(1, 179) = 0.45023289789165266139;
  points(0, 180) = 0.46427377763466998184;
  points(1, 180) = 0.071452444730660008565;
  points(0, 181) = 0.46427377763467009286;
  points(1, 181) = 0.46427377763467003735;
  points(0, 182) = 0.071452444730659925298;
  points(1, 182) = 0.4642737776346702594;
  points(0, 183) = 0.30486029298667927101;
  points(1, 183) = 0.23626319006630866482;
  points(0, 184) = 0.45887651694701209193;
  points(1, 184) = 0.30486029298667938203;
  points(0, 185) = 0.23626319006630855379;
  points(1, 185) = 0.45887651694701220295;
  points(0, 186) = 0.45887651694701209193;
  points(1, 186) = 0.23626319006630866482;
  points(0, 187) = 0.30486029298667927101;
  points(1, 187) = 0.45887651694701214744;
  points(0, 188) = 0.23626319006630849828;
  points(1, 188) = 0.30486029298667943754;
  points(0, 189) = 0.3135836062706951477;
  points(1, 189) = 0.015522928528731744224;
  points(0, 190) = 0.67089346520057313583;
  points(1, 190) = 0.31358360627069520321;
  points(0, 191) = 0.01552292852873177198;
  points(1, 191) = 0.67089346520057324685;
  points(0, 192) = 0.67089346520057313583;
  points(1, 192) = 0.015522928528731744224;
  points(0, 193) = 0.31358360627069520321;
  points(1, 193) = 0.67089346520057324685;
  points(0, 194) = 0.015522928528731633202;
  points(1, 194) = 0.31358360627069542526;
  points(0, 195) = 0.13480628826668289433;
  points(1, 195) = 0.0038480457708450575144;
  points(0, 196) = 0.86134566596247197356;
  points(1, 196) = 0.13480628826668292208;
  points(0, 197) = 0.0038480457708451321075;
  points(1, 197) = 0.86134566596247219561;
  points(0, 198) = 0.86134566596247208459;
  points(1, 198) = 0.0038480457708450575144;
  points(0, 199) = 0.13480628826668300535;
  points(1, 199) = 0.86134566596247219561;
  points(0, 200) = 0.0038480457708448545517;
  points(1, 200) = 0.13480628826668328291;
  points(0, 201) = 0.19116136187730892182;
  points(1, 201) = 0.19116136187730917162;
  points(0, 202) = 0.61767727624538193432;
  points(1, 202) = 0.19116136187730900509;
  points(0, 203) = 0.19116136187730908835;
  points(1, 203) = 0.61767727624538204534;
  points(0, 204) = 0.065828192432819856994;
  points(1, 204) = 0.038072469323013093112;
  points(0, 205) = 0.89609933824416698744;
  points(1, 205) = 0.065828192432819856994;
  points(0, 206) = 0.03807246932301316944;
  points(1, 206) = 0.89609933824416720949;
  points(0, 207) = 0.89609933824416709847;
  points(1, 207) = 0.038072469323013093112;
  points(0, 208) = 0.065828192432819954139;
  points(1, 208) = 0.89609933824416720949;
  points(0, 209) = 0.038072469323012912701;
  points(1, 209) = 0.065828192432820190061;
  points(0, 210) = 0.029350049093426915092;
  points(1, 210) = 0.029350049093427209995;
  points(0, 211) = 0.94129990181314582287;
  points(1, 211) = 0.029350049093426890806;
  points(0, 212) = 0.029350049093427310609;
  points(1, 212) = 0.94129990181314604492;
  points(0, 213) = 0.30814521899109326153;
  points(1, 213) = 0.30814521899109337255;
  points(0, 214) = 0.38370956201781336592;
  points(1, 214) = 0.30814521899109337255;
  points(0, 215) = 0.30814521899109326153;
  points(1, 215) = 0.38370956201781353245;
  points(0, 216) = 0.053192843919457742652;
  points(1, 216) = 0.01217025415394020274;
  points(0, 217) = 0.93463690192660198175;
  points(1, 217) = 0.053192843919457714896;
  points(0, 218) = 0.012170254153940407438;
  points(1, 218) = 0.93463690192660209277;
  points(0, 219) = 0.93463690192660209277;
  points(1, 219) = 0.01217025415394020274;
  points(0, 220) = 0.053192843919457888369;
  points(1, 220) = 0.93463690192660209277;
  points(0, 221) = 0.012170254153939914776;
  points(1, 221) = 0.053192843919458096535;
  points(0, 222) = 0.11117826478838091497;
  points(1, 222) = 0.1111782647883811509;
  points(0, 223) = 0.7776434704232378925;
  points(1, 223) = 0.11117826478838092885;
  points(0, 224) = 0.11117826478838116477;
  points(1, 224) = 0.77764347042323811454;
  points(0, 225) = 0.040647962635958580224;
  points(1, 225) = 0.0008585590446839483315;
  points(0, 226) = 0.95849347831935738373;
  points(1, 226) = 0.040647962635958524713;
  points(0, 227) = 0.00085855904468412624908;
  points(1, 227) = 0.95849347831935760578;
  points(0, 228) = 0.95849347831935749475;
  points(1, 228) = 0.0008585590446839483315;
  points(0, 229) = 0.040647962635958656552;
  points(1, 229) = 0.95849347831935760578;
  points(0, 230) = 0.00085855904468363705706;
  points(1, 230) = 0.040647962635958913291;
  points(0, 231) = 0.40644756721228486596;
  points(1, 231) = 0.012335837810327232936;
  points(0, 232) = 0.58121659497738786815;
  points(1, 232) = 0.40644756721228486596;
  points(0, 233) = 0.012335837810327265895;
  points(1, 233) = 0.58121659497738809019;
  points(0, 234) = 0.58121659497738786815;
  points(1, 234) = 0.012335837810327232936;
  points(0, 235) = 0.40644756721228475493;
  points(1, 235) = 0.58121659497738809019;
  points(0, 236) = 0.012335837810327127118;
  points(1, 236) = 0.406447567212285088;
  points(0, 237) = 0.38100234960344186996;
  points(1, 237) = 0.23799530079311628783;
  points(0, 238) = 0.38100234960344181445;
  points(1, 238) = 0.38100234960344198099;
  points(0, 239) = 0.23799530079311614905;
  points(1, 239) = 0.3810023496034420365;
  points(0, 240) = 0.49448099674770040757;
  points(1, 240) = 0.011038006504599144966;
  points(0, 241) = 0.49448099674770051859;
  points(1, 241) = 0.49448099674770046308;
  points(0, 242) = 0.011038006504599046087;
  points(1, 242) = 0.49448099674770068512;

  weights(0) = 0.0015308415835340899881;
  weights(1) = 0.0015308415835340899881;
  weights(2) = 0.0015308415835340899881;
  weights(3) = 0.0015308415835340899881;
  weights(4) = 0.0015308415835340899881;
  weights(5) = 0.0015308415835340899881;
  weights(6) = 0.0024616359876450232685;
  weights(7) = 0.0024616359876450232685;
  weights(8) = 0.0024616359876450232685;
  weights(9) = 0.0024616359876450232685;
  weights(10) = 0.0024616359876450232685;
  weights(11) = 0.0024616359876450232685;
  weights(12) = 0.0016618604216976163093;
  weights(13) = 0.0016618604216976163093;
  weights(14) = 0.0016618604216976163093;
  weights(15) = 0.0016618604216976163093;
  weights(16) = 0.0016618604216976163093;
  weights(17) = 0.0016618604216976163093;
  weights(18) = 0.0023713682465168772241;
  weights(19) = 0.0023713682465168772241;
  weights(20) = 0.0023713682465168772241;
  weights(21) = 0.0023713682465168772241;
  weights(22) = 0.0023713682465168772241;
  weights(23) = 0.0023713682465168772241;
  weights(24) = 0.0020569006463248742239;
  weights(25) = 0.0020569006463248742239;
  weights(26) = 0.0020569006463248742239;
  weights(27) = 0.0020569006463248742239;
  weights(28) = 0.0020569006463248742239;
  weights(29) = 0.0020569006463248742239;
  weights(30) = 0.0026176712614468921475;
  weights(31) = 0.0026176712614468921475;
  weights(32) = 0.0026176712614468921475;
  weights(33) = 0.0026176712614468921475;
  weights(34) = 0.0026176712614468921475;
  weights(35) = 0.0026176712614468921475;
  weights(36) = 6.5169964226325125889e-05;
  weights(37) = 6.5169964226325125889e-05;
  weights(38) = 6.5169964226325125889e-05;
  weights(39) = 6.5169964226325125889e-05;
  weights(40) = 6.5169964226325125889e-05;
  weights(41) = 6.5169964226325125889e-05;
  weights(42) = 0.003835247258954314984;
  weights(43) = 0.003835247258954314984;
  weights(44) = 0.003835247258954314984;
  weights(45) = 0.0026138521419691797439;
  weights(46) = 0.0026138521419691797439;
  weights(47) = 0.0026138521419691797439;
  weights(48) = 0.0026138521419691797439;
  weights(49) = 0.0026138521419691797439;
  weights(50) = 0.0026138521419691797439;
  weights(51) = 0.0033155687707742669684;
  weights(52) = 0.0033155687707742669684;
  weights(53) = 0.0033155687707742669684;
  weights(54) = 0.0033155687707742669684;
  weights(55) = 0.0033155687707742669684;
  weights(56) = 0.0033155687707742669684;
  weights(57) = 0.0034381478546980752398;
  weights(58) = 0.0034381478546980752398;
  weights(59) = 0.0034381478546980752398;
  weights(60) = 0.00034761731985853694393;
  weights(61) = 0.00034761731985853694393;
  weights(62) = 0.00034761731985853694393;
  weights(63) = 0.00034761731985853694393;
  weights(64) = 0.00034761731985853694393;
  weights(65) = 0.00034761731985853694393;
  weights(66) = 0.0034591862436962749101;
  weights(67) = 0.0034591862436962749101;
  weights(68) = 0.0034591862436962749101;
  weights(69) = 0.0034591862436962749101;
  weights(70) = 0.0034591862436962749101;
  weights(71) = 0.0034591862436962749101;
  weights(72) = 0.0040339988583191202162;
  weights(73) = 0.0040339988583191202162;
  weights(74) = 0.0040339988583191202162;
  weights(75) = 0.00050885342467745799631;
  weights(76) = 0.00050885342467745799631;
  weights(77) = 0.00050885342467745799631;
  weights(78) = 0.00050885342467745799631;
  weights(79) = 0.00050885342467745799631;
  weights(80) = 0.00050885342467745799631;
  weights(81) = 0.0022654956485322680013;
  weights(82) = 0.0022654956485322680013;
  weights(83) = 0.0022654956485322680013;
  weights(84) = 0.0022654956485322680013;
  weights(85) = 0.0022654956485322680013;
  weights(86) = 0.0022654956485322680013;
  weights(87) = 0.0011896402478192844628;
  weights(88) = 0.0011896402478192844628;
  weights(89) = 0.0011896402478192844628;
  weights(90) = 0.0011896402478192844628;
  weights(91) = 0.0011896402478192844628;
  weights(92) = 0.0011896402478192844628;
  weights(93) = 0.00060843955485272041648;
  weights(94) = 0.00060843955485272041648;
  weights(95) = 0.00060843955485272041648;
  weights(96) = 0.00060843955485272041648;
  weights(97) = 0.00060843955485272041648;
  weights(98) = 0.00060843955485272041648;
  weights(99) = 0.0015565136201891546265;
  weights(100) = 0.0015565136201891546265;
  weights(101) = 0.0015565136201891546265;
  weights(102) = 0.0015565136201891546265;
  weights(103) = 0.0015565136201891546265;
  weights(104) = 0.0015565136201891546265;
  weights(105) = 0.00032409266640656274501;
  weights(106) = 0.00032409266640656274501;
  weights(107) = 0.00032409266640656274501;
  weights(108) = 0.00032409266640656274501;
  weights(109) = 0.00032409266640656274501;
  weights(110) = 0.00032409266640656274501;
  weights(111) = 0.0041725823730272828746;
  weights(112) = 0.0041725823730272828746;
  weights(113) = 0.0041725823730272828746;
  weights(114) = 0.0041725823730272828746;
  weights(115) = 0.0041725823730272828746;
  weights(116) = 0.0041725823730272828746;
  weights(117) = 0.0030855303407257583283;
  weights(118) = 0.0030855303407257583283;
  weights(119) = 0.0030855303407257583283;
  weights(120) = 0.0044519014246259059134;
  weights(121) = 0.0044519014246259059134;
  weights(122) = 0.0044519014246259059134;
  weights(123) = 0.0044519014246259059134;
  weights(124) = 0.0044519014246259059134;
  weights(125) = 0.0044519014246259059134;
  weights(126) = 0.0023819069846941400698;
  weights(127) = 0.0023819069846941400698;
  weights(128) = 0.0023819069846941400698;
  weights(129) = 0.0023819069846941400698;
  weights(130) = 0.0023819069846941400698;
  weights(131) = 0.0023819069846941400698;
  weights(132) = 0.00061657174571872429541;
  weights(133) = 0.00061657174571872429541;
  weights(134) = 0.00061657174571872429541;
  weights(135) = 0.00061657174571872429541;
  weights(136) = 0.00061657174571872429541;
  weights(137) = 0.00061657174571872429541;
  weights(138) = 0.002640518117683038346;
  weights(139) = 0.002640518117683038346;
  weights(140) = 0.002640518117683038346;
  weights(141) = 0.002640518117683038346;
  weights(142) = 0.002640518117683038346;
  weights(143) = 0.002640518117683038346;
  weights(144) = 0.0036019790815254894289;
  weights(145) = 0.0036019790815254894289;
  weights(146) = 0.0036019790815254894289;
  weights(147) = 0.0036019790815254894289;
  weights(148) = 0.0036019790815254894289;
  weights(149) = 0.0036019790815254894289;
  weights(150) = 0.0012750232331756523093;
  weights(151) = 0.0012750232331756523093;
  weights(152) = 0.0012750232331756523093;
  weights(153) = 0.0012750232331756523093;
  weights(154) = 0.0012750232331756523093;
  weights(155) = 0.0012750232331756523093;
  weights(156) = 0.0020465605787013296975;
  weights(157) = 0.0020465605787013296975;
  weights(158) = 0.0020465605787013296975;
  weights(159) = 0.0020465605787013296975;
  weights(160) = 0.0020465605787013296975;
  weights(161) = 0.0020465605787013296975;
  weights(162) = 0.0022346958718063186268;
  weights(163) = 0.0022346958718063186268;
  weights(164) = 0.0022346958718063186268;
  weights(165) = 0.0022346958718063186268;
  weights(166) = 0.0022346958718063186268;
  weights(167) = 0.0022346958718063186268;
  weights(168) = 0.0010506112115176238515;
  weights(169) = 0.0010506112115176238515;
  weights(170) = 0.0010506112115176238515;
  weights(171) = 0.0010506112115176238515;
  weights(172) = 0.0010506112115176238515;
  weights(173) = 0.0010506112115176238515;
  weights(174) = 0.00041104455365711023342;
  weights(175) = 0.00041104455365711023342;
  weights(176) = 0.00041104455365711023342;
  weights(177) = 0.00041104455365711023342;
  weights(178) = 0.00041104455365711023342;
  weights(179) = 0.00041104455365711023342;
  weights(180) = 0.0033306168106237705843;
  weights(181) = 0.0033306168106237705843;
  weights(182) = 0.0033306168106237705843;
  weights(183) = 0.0051066728077645683753;
  weights(184) = 0.0051066728077645683753;
  weights(185) = 0.0051066728077645683753;
  weights(186) = 0.0051066728077645683753;
  weights(187) = 0.0051066728077645683753;
  weights(188) = 0.0051066728077645683753;
  weights(189) = 0.0015201106774150479652;
  weights(190) = 0.0015201106774150479652;
  weights(191) = 0.0015201106774150479652;
  weights(192) = 0.0015201106774150479652;
  weights(193) = 0.0015201106774150479652;
  weights(194) = 0.0015201106774150479652;
  weights(195) = 0.0005548050768085303593;
  weights(196) = 0.0005548050768085303593;
  weights(197) = 0.0005548050768085303593;
  weights(198) = 0.0005548050768085303593;
  weights(199) = 0.0005548050768085303593;
  weights(200) = 0.0005548050768085303593;
  weights(201) = 0.0040466125378445412519;
  weights(202) = 0.0040466125378445412519;
  weights(203) = 0.0040466125378445412519;
  weights(204) = 0.0013334505830017262355;
  weights(205) = 0.0013334505830017262355;
  weights(206) = 0.0013334505830017262355;
  weights(207) = 0.0013334505830017262355;
  weights(208) = 0.0013334505830017262355;
  weights(209) = 0.0013334505830017262355;
  weights(210) = 0.00078371185557543675618;
  weights(211) = 0.00078371185557543675618;
  weights(212) = 0.00078371185557543675618;
  weights(213) = 0.0055041380808568112631;
  weights(214) = 0.0055041380808568112631;
  weights(215) = 0.0055041380808568112631;
  weights(216) = 0.00066780438203251036786;
  weights(217) = 0.00066780438203251036786;
  weights(218) = 0.00066780438203251036786;
  weights(219) = 0.00066780438203251036786;
  weights(220) = 0.00066780438203251036786;
  weights(221) = 0.00066780438203251036786;
  weights(222) = 0.0027117744620662851025;
  weights(223) = 0.0027117744620662851025;
  weights(224) = 0.0027117744620662851025;
  weights(225) = 0.00013308891194672108397;
  weights(226) = 0.00013308891194672108397;
  weights(227) = 0.00013308891194672108397;
  weights(228) = 0.00013308891194672108397;
  weights(229) = 0.00013308891194672108397;
  weights(230) = 0.00013308891194672108397;
  weights(231) = 0.0014438434956607609089;
  weights(232) = 0.0014438434956607609089;
  weights(233) = 0.0014438434956607609089;
  weights(234) = 0.0014438434956607609089;
  weights(235) = 0.0014438434956607609089;
  weights(236) = 0.0014438434956607609089;
  weights(237) = 0.0052531730034085536915;
  weights(238) = 0.0052531730034085536915;
  weights(239) = 0.0052531730034085536915;
  weights(240) = 0.0014479578817342829596;
  weights(241) = 0.0014479578817342829596;
  weights(242) = 0.0014479578817342829596;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 36);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 37>() { // NOLINT
  Eigen::MatrixXd points(2, 252);
  Eigen::VectorXd weights(252);

  points(0, 0) = 0.10230393215776030502;
  points(1, 0) = 0.10230393215776054094;
  points(0, 1) = 0.79539213568447908465;
  points(1, 1) = 0.10230393215776027727;
  points(0, 2) = 0.10230393215776067972;
  points(1, 2) = 0.79539213568447930669;
  points(0, 3) = 0.31602409649663992797;
  points(1, 3) = 0.033829090682721316141;
  points(0, 4) = 0.65014681282063879753;
  points(1, 4) = 0.31602409649663992797;
  points(0, 5) = 0.033829090682721274508;
  points(1, 5) = 0.65014681282063901957;
  points(0, 6) = 0.65014681282063879753;
  points(1, 6) = 0.033829090682721316141;
  points(0, 7) = 0.31602409649663998348;
  points(1, 7) = 0.65014681282063890855;
  points(0, 8) = 0.033829090682721191241;
  points(1, 8) = 0.31602409649664015001;
  points(0, 9) = 0.035020235875468409825;
  points(1, 9) = 0.03502023587546869432;
  points(0, 10) = 0.92995952824906291667;
  points(1, 10) = 0.035020235875468368192;
  points(0, 11) = 0.03502023587546881922;
  points(1, 11) = 0.92995952824906302769;
  points(0, 12) = 0.10535941196028192346;
  points(1, 12) = 0.033145989556188429348;
  points(0, 13) = 0.86149459848352960556;
  points(1, 13) = 0.1053594119602818957;
  points(0, 14) = 0.033145989556188637515;
  points(1, 14) = 0.86149459848352960556;
  points(0, 15) = 0.86149459848352960556;
  points(1, 15) = 0.033145989556188429348;
  points(0, 16) = 0.10535941196028192346;
  points(1, 16) = 0.86149459848352993863;
  points(0, 17) = 0.033145989556188130976;
  points(1, 17) = 0.10535941196028221489;
  points(0, 18) = 0.074981021784113824347;
  points(1, 18) = 0.002033476076117328793;
  points(0, 19) = 0.92298550213976882084;
  points(1, 19) = 0.074981021784113824347;
  points(0, 20) = 0.0020334760761174797139;
  points(1, 20) = 0.92298550213976893186;
  points(0, 21) = 0.92298550213976882084;
  points(1, 21) = 0.002033476076117328793;
  points(0, 22) = 0.07498102178411386598;
  points(1, 22) = 0.92298550213976893186;
  points(0, 23) = 0.0020334760761170772581;
  points(1, 23) = 0.074981021784114171291;
  points(0, 24) = 0.11948659338035519384;
  points(1, 24) = 0.055510403162458858695;
  points(0, 25) = 0.82500300345718602379;
  points(1, 25) = 0.11948659338035516608;
  points(0, 26) = 0.055510403162458976656;
  points(1, 26) = 0.82500300345718602379;
  points(0, 27) = 0.82500300345718591277;
  points(1, 27) = 0.055510403162458858695;
  points(0, 28) = 0.11948659338035527711;
  points(1, 28) = 0.82500300345718602379;
  points(0, 29) = 0.055510403162458595017;
  points(1, 29) = 0.11948659338035548527;
  points(0, 30) = 0.31923516504598914434;
  points(1, 30) = 0.23806084711702485412;
  points(0, 31) = 0.44270398783698605705;
  points(1, 31) = 0.31923516504598925536;
  points(0, 32) = 0.2380608471170247431;
  points(1, 32) = 0.44270398783698616807;
  points(0, 33) = 0.44270398783698605705;
  points(1, 33) = 0.23806084711702485412;
  points(0, 34) = 0.31923516504598908883;
  points(1, 34) = 0.44270398783698616807;
  points(0, 35) = 0.23806084711702471535;
  points(1, 35) = 0.31923516504598931087;
  points(0, 36) = 0.39178825772367009694;
  points(1, 36) = 0.075270548937509840215;
  points(0, 37) = 0.53294119333882006284;
  points(1, 37) = 0.39178825772367015245;
  points(0, 38) = 0.075270548937509840215;
  points(1, 38) = 0.53294119333882017386;
  points(0, 39) = 0.53294119333882006284;
  points(1, 39) = 0.075270548937509840215;
  points(0, 40) = 0.39178825772367009694;
  points(1, 40) = 0.53294119333882017386;
  points(0, 41) = 0.075270548937509756948;
  points(1, 41) = 0.3917882577236703745;
  points(0, 42) = 0.25924349045654954127;
  points(1, 42) = 0.2592434904565497078;
  points(0, 43) = 0.48151301908690069542;
  points(1, 43) = 0.25924349045654965229;
  points(0, 44) = 0.25924349045654965229;
  points(1, 44) = 0.48151301908690091746;
  points(0, 45) = 0.31754340721419826998;
  points(1, 45) = 0.053620831629113116512;
  points(0, 46) = 0.62883576115668859963;
  points(1, 46) = 0.31754340721419832549;
  points(0, 47) = 0.053620831629113185901;
  points(1, 47) = 0.62883576115668871065;
  points(0, 48) = 0.62883576115668859963;
  points(1, 48) = 0.053620831629113116512;
  points(0, 49) = 0.31754340721419832549;
  points(1, 49) = 0.62883576115668871065;
  points(0, 50) = 0.053620831629112991612;
  points(1, 50) = 0.31754340721419854754;
  points(0, 51) = 0.32676452459273175322;
  points(1, 51) = 0.091294767095042833605;
  points(0, 52) = 0.58194070831222544093;
  points(1, 52) = 0.32676452459273180873;
  points(0, 53) = 0.091294767095042805849;
  points(1, 53) = 0.58194070831222566298;
  points(0, 54) = 0.58194070831222544093;
  points(1, 54) = 0.091294767095042833605;
  points(0, 55) = 0.32676452459273180873;
  points(1, 55) = 0.58194070831222555196;
  points(0, 56) = 0.091294767095042694827;
  points(1, 56) = 0.32676452459273197526;
  points(0, 57) = 0.31874966682718014477;
  points(1, 57) = 0.13511574907028467418;
  points(0, 58) = 0.54613458410253512554;
  points(1, 58) = 0.31874966682718020028;
  points(0, 59) = 0.13511574907028467418;
  points(1, 59) = 0.54613458410253534758;
  points(0, 60) = 0.54613458410253512554;
  points(1, 60) = 0.13511574907028467418;
  points(0, 61) = 0.31874966682718020028;
  points(1, 61) = 0.54613458410253534758;
  points(0, 62) = 0.13511574907028456316;
  points(1, 62) = 0.3187496668271803113;
  points(0, 63) = 0.067457879081386826203;
  points(1, 63) = 0.040770123756678676441;
  points(0, 64) = 0.89177199716193444878;
  points(1, 64) = 0.067457879081386840081;
  points(0, 65) = 0.040770123756678766647;
  points(1, 65) = 0.89177199716193455981;
  points(0, 66) = 0.89177199716193455981;
  points(1, 66) = 0.040770123756678676441;
  points(0, 67) = 0.067457879081386951103;
  points(1, 67) = 0.89177199716193455981;
  points(0, 68) = 0.040770123756678426641;
  points(1, 68) = 0.067457879081387131515;
  points(0, 69) = 0.018379440921081180438;
  points(1, 69) = 0.0029902778765639177576;
  points(0, 70) = 0.97863028120235484586;
  points(1, 70) = 0.018379440921081149213;
  points(0, 71) = 0.0029902778765640292136;
  points(1, 71) = 0.9786302812023550679;
  points(0, 72) = 0.97863028120235495688;
  points(1, 72) = 0.0029902778765639177576;
  points(0, 73) = 0.018379440921081235949;
  points(1, 73) = 0.9786302812023550679;
  points(0, 74) = 0.0029902778765637134939;
  points(1, 74) = 0.018379440921081534321;
  points(0, 75) = 0.047656935862215948907;
  points(1, 75) = 0.017250960453807525491;
  points(0, 76) = 0.93509210368397643887;
  points(1, 76) = 0.047656935862215962785;
  points(0, 77) = 0.017250960453807695494;
  points(1, 77) = 0.93509210368397654989;
  points(0, 78) = 0.93509210368397643887;
  points(1, 78) = 0.017250960453807525491;
  points(0, 79) = 0.047656935862216087685;
  points(1, 79) = 0.93509210368397654989;
  points(0, 80) = 0.017250960453807289569;
  points(1, 80) = 0.047656935862216344424;
  points(0, 81) = 0.33572278703801006206;
  points(1, 81) = 0.18111640919553198548;
  points(0, 82) = 0.48316080376645798022;
  points(1, 82) = 0.33572278703801011757;
  points(0, 83) = 0.18111640919553192997;
  points(1, 83) = 0.48316080376645814676;
  points(0, 84) = 0.48316080376645798022;
  points(1, 84) = 0.18111640919553198548;
  points(0, 85) = 0.33572278703801006206;
  points(1, 85) = 0.48316080376645814676;
  points(0, 86) = 0.18111640919553181894;
  points(1, 86) = 0.33572278703801022859;
  points(0, 87) = 0.13944123587229267924;
  points(1, 87) = 0.1394412358722929568;
  points(0, 88) = 0.72111752825541430845;
  points(1, 88) = 0.139441235872292707;
  points(0, 89) = 0.1394412358722929568;
  points(1, 89) = 0.72111752825541453049;
  points(0, 90) = 0.46116845889081004017;
  points(1, 90) = 0.077663082218379975163;
  points(0, 91) = 0.46116845889081004017;
  points(1, 91) = 0.46116845889081009568;
  points(0, 92) = 0.077663082218379891897;
  points(1, 92) = 0.46116845889081020671;
  points(0, 93) = 0.13567160791611762582;
  points(1, 93) = 0.090130271848290088865;
  points(0, 94) = 0.77419812023559220204;
  points(1, 94) = 0.13567160791611768134;
  points(0, 95) = 0.090130271848290144376;
  points(1, 95) = 0.77419812023559231307;
  points(0, 96) = 0.77419812023559220204;
  points(1, 96) = 0.090130271848290088865;
  points(0, 97) = 0.1356716079161177646;
  points(1, 97) = 0.77419812023559231307;
  points(0, 98) = 0.090130271848289852943;
  points(1, 98) = 0.13567160791611790338;
  points(0, 99) = 0.041769361435969792895;
  points(1, 99) = 0.0040170970872312533259;
  points(0, 100) = 0.95421354147679893209;
  points(1, 100) = 0.041769361435969737384;
  points(0, 101) = 0.004017097087231469299;
  points(1, 101) = 0.95421354147679904312;
  points(0, 102) = 0.95421354147679893209;
  points(1, 102) = 0.0040170970872312533259;
  points(0, 103) = 0.041769361435969931673;
  points(1, 103) = 0.95421354147679904312;
  points(0, 104) = 0.0040170970872309592903;
  points(1, 104) = 0.041769361435970119023;
  points(0, 105) = 0.37915371795503782781;
  points(1, 105) = 0.24169256408992439988;
  points(0, 106) = 0.37915371795503782781;
  points(1, 106) = 0.37915371795503793884;
  points(0, 107) = 0.24169256408992428886;
  points(1, 107) = 0.37915371795503793884;
  points(0, 108) = 0.19126373743807623118;
  points(1, 108) = 0.080965320229254081341;
  points(0, 109) = 0.72777094233266959034;
  points(1, 109) = 0.19126373743807625893;
  points(0, 110) = 0.080965320229254178486;
  points(1, 110) = 0.72777094233266981238;
  points(0, 111) = 0.72777094233266970136;
  points(1, 111) = 0.080965320229254081341;
  points(0, 112) = 0.19126373743807623118;
  points(1, 112) = 0.7277709423326699234;
  points(0, 113) = 0.080965320229253887052;
  points(1, 113) = 0.19126373743807648098;
  points(0, 114) = 0.44892032995664282735;
  points(1, 114) = 0.016881458510130772921;
  points(0, 115) = 0.53419821153322633034;
  points(1, 115) = 0.44892032995664288286;
  points(0, 116) = 0.016881458510130731288;
  points(1, 116) = 0.53419821153322655238;
  points(0, 117) = 0.53419821153322644136;
  points(1, 117) = 0.016881458510130772921;
  points(0, 118) = 0.44892032995664288286;
  points(1, 118) = 0.53419821153322644136;
  points(0, 119) = 0.016881458510130675776;
  points(1, 119) = 0.44892032995664310491;
  points(0, 120) = 0.39708337913498847893;
  points(1, 120) = 0.041476678533636887614;
  points(0, 121) = 0.56143994233137450856;
  points(1, 121) = 0.39708337913498858995;
  points(0, 122) = 0.04147667853363684598;
  points(1, 122) = 0.56143994233137484162;
  points(0, 123) = 0.56143994233137461958;
  points(1, 123) = 0.041476678533636887614;
  points(0, 124) = 0.39708337913498853444;
  points(1, 124) = 0.56143994233137461958;
  points(0, 125) = 0.041476678533636818225;
  points(1, 125) = 0.39708337913498875649;
  points(0, 126) = 0.08622634406288717801;
  points(1, 126) = 0.013734586162212179469;
  points(0, 127) = 0.90003906977490055752;
  points(1, 127) = 0.086226344062887164132;
  points(0, 128) = 0.013734586162212347737;
  points(1, 128) = 0.90003906977490077956;
  points(0, 129) = 0.90003906977490066854;
  points(1, 129) = 0.013734586162212179469;
  points(0, 130) = 0.086226344062887205766;
  points(1, 130) = 0.90003906977490077956;
  points(0, 131) = 0.013734586162211966098;
  points(1, 131) = 0.086226344062887524955;
  points(0, 132) = 0.017341175363902432832;
  points(1, 132) = 0.017341175363902706918;
  points(0, 133) = 0.9653176492721948776;
  points(1, 133) = 0.017341175363902387729;
  points(0, 134) = 0.017341175363902894269;
  points(1, 134) = 0.9653176492721948776;
  points(0, 135) = 0.28148795994228198447;
  points(1, 135) = 0.017918604330291815901;
  points(0, 136) = 0.70059343572742627249;
  points(1, 136) = 0.28148795994228198447;
  points(0, 137) = 0.017918604330291854065;
  points(1, 137) = 0.70059343572742638351;
  points(0, 138) = 0.70059343572742616146;
  points(1, 138) = 0.017918604330291815901;
  points(0, 139) = 0.28148795994228192896;
  points(1, 139) = 0.70059343572742638351;
  points(0, 140) = 0.017918604330291632021;
  points(1, 140) = 0.28148795994228226203;
  points(0, 141) = 0.19237683474425928964;
  points(1, 141) = 0.12847139005679292234;
  points(0, 142) = 0.67915177519894776026;
  points(1, 142) = 0.19237683474425934516;
  points(0, 143) = 0.12847139005679292234;
  points(1, 143) = 0.6791517751989479823;
  points(0, 144) = 0.67915177519894776026;
  points(1, 144) = 0.12847139005679292234;
  points(0, 145) = 0.19237683474425926189;
  points(1, 145) = 0.6791517751989479823;
  points(0, 146) = 0.12847139005679272805;
  points(1, 146) = 0.19237683474425953944;
  points(0, 147) = 0.25179424751743312294;
  points(1, 147) = 0.13732115973159561562;
  points(0, 148) = 0.61088459275097117818;
  points(1, 148) = 0.25179424751743317845;
  points(0, 149) = 0.13732115973159558786;
  points(1, 149) = 0.61088459275097140022;
  points(0, 150) = 0.6108845927509712892;
  points(1, 150) = 0.13732115973159561562;
  points(0, 151) = 0.25179424751743323396;
  points(1, 151) = 0.6108845927509712892;
  points(0, 152) = 0.13732115973159547684;
  points(1, 152) = 0.2517942475174334005;
  points(0, 153) = 0.077988930180642623835;
  points(1, 153) = 0.077988930180642901391;
  points(0, 154) = 0.84402213963871441926;
  points(1, 154) = 0.077988930180642609957;
  points(0, 155) = 0.077988930180643012413;
  points(1, 155) = 0.84402213963871464131;
  points(0, 156) = 0.36503479493632795538;
  points(1, 156) = 0.017441826494383829566;
  points(0, 157) = 0.61752337856928818383;
  points(1, 157) = 0.36503479493632806641;
  points(0, 158) = 0.017441826494383805279;
  points(1, 158) = 0.61752337856928829485;
  points(0, 159) = 0.61752337856928818383;
  points(1, 159) = 0.017441826494383829566;
  points(0, 160) = 0.36503479493632801089;
  points(1, 160) = 0.61752337856928829485;
  points(0, 161) = 0.017441826494383722013;
  points(1, 161) = 0.36503479493632823294;
  points(0, 162) = 0.4792449355569203262;
  points(1, 162) = 0.041510128886159340655;
  points(0, 163) = 0.47924493555692038171;
  points(1, 163) = 0.47924493555692038171;
  points(0, 164) = 0.041510128886159264328;
  points(1, 164) = 0.47924493555692054825;
  points(0, 165) = 0.41206140547968950205;
  points(1, 165) = 0.17587718904062105141;
  points(0, 166) = 0.41206140547968950205;
  points(1, 166) = 0.41206140547968961307;
  points(0, 167) = 0.17587718904062096814;
  points(1, 167) = 0.41206140547968966859;
  points(0, 168) = 0.2571566355502534762;
  points(1, 168) = 0.086198170278100338937;
  points(0, 169) = 0.65664519417164624038;
  points(1, 169) = 0.25715663555025353171;
  points(0, 170) = 0.086198170278100338937;
  points(1, 170) = 0.6566451941716463514;
  points(0, 171) = 0.65664519417164624038;
  points(1, 171) = 0.086198170278100338937;
  points(0, 172) = 0.25715663555025353171;
  points(1, 172) = 0.6566451941716463514;
  points(0, 173) = 0.086198170278100144648;
  points(1, 173) = 0.25715663555025375375;
  points(0, 174) = 0.49841057441395697492;
  points(1, 174) = 0.0031788511720860996093;
  points(0, 175) = 0.49841057441395697492;
  points(1, 175) = 0.49841057441395703043;
  points(0, 176) = 0.0031788511720859946585;
  points(1, 176) = 0.49841057441395719696;
  points(0, 177) = 0.30912594868535048231;
  points(1, 177) = 0.30912594868535064885;
  points(0, 178) = 0.38174810262929892435;
  points(1, 178) = 0.30912594868535064885;
  points(0, 179) = 0.30912594868535048231;
  points(1, 179) = 0.38174810262929903537;
  points(0, 180) = 0.12418161193411102194;
  points(1, 180) = 0.0034112678008346984139;
  points(0, 181) = 0.87240712026505429222;
  points(1, 181) = 0.1241816119341110497;
  points(0, 182) = 0.0034112678008348384928;
  points(1, 182) = 0.87240712026505429222;
  points(0, 183) = 0.87240712026505429222;
  points(1, 183) = 0.0034112678008346984139;
  points(0, 184) = 0.12418161193411114684;
  points(1, 184) = 0.87240712026505429222;
  points(0, 185) = 0.0034112678008344499148;
  points(1, 185) = 0.12418161193411136889;
  points(0, 186) = 0.17165072780936915797;
  points(1, 186) = 0.044555516711789512618;
  points(0, 187) = 0.78379375547884133635;
  points(1, 187) = 0.17165072780936915797;
  points(0, 188) = 0.044555516711789588946;
  points(1, 188) = 0.78379375547884144737;
  points(0, 189) = 0.78379375547884133635;
  points(1, 189) = 0.044555516711789512618;
  points(0, 190) = 0.17165072780936918573;
  points(1, 190) = 0.78379375547884144737;
  points(0, 191) = 0.044555516711789297513;
  points(1, 191) = 0.17165072780936943553;
  points(0, 192) = 0.39772310919828557374;
  points(1, 192) = 0.12209754888456268718;
  points(0, 193) = 0.48017934191715183623;
  points(1, 193) = 0.39772310919828562925;
  points(0, 194) = 0.1220975488845626733;
  points(1, 194) = 0.48017934191715189174;
  points(0, 195) = 0.48017934191715178072;
  points(1, 195) = 0.12209754888456268718;
  points(0, 196) = 0.39772310919828557374;
  points(1, 196) = 0.48017934191715183623;
  points(0, 197) = 0.12209754888456261779;
  points(1, 197) = 0.39772310919828574027;
  points(0, 198) = 0.0036715668219831150594;
  points(1, 198) = 0.0036715668219834260086;
  points(0, 199) = 0.99265686635603345156;
  points(1, 199) = 0.0036715668219831055184;
  points(0, 200) = 0.003671566821983551776;
  points(1, 200) = 0.99265686635603356258;
  points(0, 201) = 0.25789664566985648353;
  points(1, 201) = 0.19571037123642814892;
  points(0, 202) = 0.54639298309371531204;
  points(1, 202) = 0.25789664566985653904;
  points(0, 203) = 0.19571037123642809341;
  points(1, 203) = 0.54639298309371553408;
  points(0, 204) = 0.54639298309371542306;
  points(1, 204) = 0.19571037123642814892;
  points(0, 205) = 0.25789664566985648353;
  points(1, 205) = 0.54639298309371553408;
  points(0, 206) = 0.19571037123642798239;
  points(1, 206) = 0.25789664566985670557;
  points(0, 207) = 0.14415007448119360189;
  points(1, 207) = 0.018311391979833988031;
  points(0, 208) = 0.83753853353897234069;
  points(1, 208) = 0.14415007448119362965;
  points(0, 209) = 0.018311391979834112931;
  points(1, 209) = 0.83753853353897245171;
  points(0, 210) = 0.83753853353897245171;
  points(1, 210) = 0.018311391979833988031;
  points(0, 211) = 0.14415007448119365741;
  points(1, 211) = 0.83753853353897245171;
  points(0, 212) = 0.018311391979833765986;
  points(1, 212) = 0.14415007448119390721;
  points(0, 213) = 0.41225956100179100838;
  points(1, 213) = 0.0032622580352038212798;
  points(0, 214) = 0.5844781809630050784;
  points(1, 214) = 0.41225956100179111941;
  points(0, 215) = 0.003262258035203857709;
  points(1, 215) = 0.58447818096300530044;
  points(0, 216) = 0.58447818096300518942;
  points(1, 216) = 0.0032622580352038212798;
  points(0, 217) = 0.41225956100179111941;
  points(1, 217) = 0.58447818096300518942;
  points(0, 218) = 0.0032622580352036911755;
  points(1, 218) = 0.41225956100179128594;
  points(0, 219) = 0.25242846479143632443;
  points(1, 219) = 0.0034754415073157121294;
  points(0, 220) = 0.74409609370124796257;
  points(1, 220) = 0.25242846479143637994;
  points(0, 221) = 0.0034754415073157685079;
  points(1, 221) = 0.74409609370124807359;
  points(0, 222) = 0.74409609370124796257;
  points(1, 222) = 0.0034754415073157121294;
  points(0, 223) = 0.25242846479143637994;
  points(1, 223) = 0.74409609370124807359;
  points(0, 224) = 0.0034754415073155464633;
  points(1, 224) = 0.2524284647914366575;
  points(0, 225) = 0.32936692748577450773;
  points(1, 225) = 0.0035387900825818319889;
  points(0, 226) = 0.66709428243164370365;
  points(1, 226) = 0.32936692748577456324;
  points(0, 227) = 0.0035387900825818996431;
  points(1, 227) = 0.66709428243164381467;
  points(0, 228) = 0.66709428243164370365;
  points(1, 228) = 0.0035387900825818319889;
  points(0, 229) = 0.32936692748577456324;
  points(1, 229) = 0.66709428243164370365;
  points(0, 230) = 0.0035387900825817331096;
  points(1, 230) = 0.32936692748577478529;
  points(0, 231) = 0.20958148170051540959;
  points(1, 231) = 0.018844939055752300133;
  points(0, 232) = 0.77157357924373226599;
  points(1, 232) = 0.20958148170051543735;
  points(0, 233) = 0.018844939055752241153;
  points(1, 233) = 0.77157357924373259905;
  points(0, 234) = 0.77157357924373226599;
  points(1, 234) = 0.018844939055752300133;
  points(0, 235) = 0.20958148170051549286;
  points(1, 235) = 0.77157357924373237701;
  points(0, 236) = 0.018844939055752144008;
  points(1, 236) = 0.20958148170051568715;
  points(0, 237) = 0.18364016944623220984;
  points(1, 237) = 0.0036381021086963364827;
  points(0, 238) = 0.81272172844507140077;
  points(1, 238) = 0.18364016944623220984;
  points(0, 239) = 0.0036381021086964726585;
  points(1, 239) = 0.81272172844507151179;
  points(0, 240) = 0.81272172844507140077;
  points(1, 240) = 0.0036381021086963364827;
  points(0, 241) = 0.18364016944623234862;
  points(1, 241) = 0.81272172844507151179;
  points(0, 242) = 0.0036381021086961534694;
  points(1, 242) = 0.18364016944623248739;
  points(0, 243) = 0.24169623246933752414;
  points(1, 243) = 0.04575328696131741868;
  points(0, 244) = 0.71255048056934511269;
  points(1, 244) = 0.24169623246933749638;
  points(0, 245) = 0.045753286961317474191;
  points(1, 245) = 0.71255048056934522371;
  points(0, 246) = 0.71255048056934500167;
  points(1, 246) = 0.04575328696131741868;
  points(0, 247) = 0.24169623246933757965;
  points(1, 247) = 0.71255048056934522371;
  points(0, 248) = 0.045753286961317252146;
  points(1, 248) = 0.2416962324693378017;
  points(0, 249) = 0.18936426120019617114;
  points(1, 249) = 0.18936426120019636543;
  points(0, 250) = 0.62127147759960743567;
  points(1, 250) = 0.1893642612001961989;
  points(0, 251) = 0.18936426120019628216;
  points(1, 251) = 0.62127147759960765772;

  weights(0) = 0.00075699488592900743798;
  weights(1) = 0.00075699488592900743798;
  weights(2) = 0.00075699488592900743798;
  weights(3) = 0.0010495960486747364128;
  weights(4) = 0.0010495960486747364128;
  weights(5) = 0.0010495960486747364128;
  weights(6) = 0.0010495960486747364128;
  weights(7) = 0.0010495960486747364128;
  weights(8) = 0.0010495960486747364128;
  weights(9) = 0.00055234183452230719083;
  weights(10) = 0.00055234183452230719083;
  weights(11) = 0.00055234183452230719083;
  weights(12) = 0.0009613125860910386308;
  weights(13) = 0.0009613125860910386308;
  weights(14) = 0.0009613125860910386308;
  weights(15) = 0.0009613125860910386308;
  weights(16) = 0.0009613125860910386308;
  weights(17) = 0.0009613125860910386308;
  weights(18) = 0.00024022150500093829989;
  weights(19) = 0.00024022150500093829989;
  weights(20) = 0.00024022150500093829989;
  weights(21) = 0.00024022150500093829989;
  weights(22) = 0.00024022150500093829989;
  weights(23) = 0.00024022150500093829989;
  weights(24) = 0.001516273730044745199;
  weights(25) = 0.001516273730044745199;
  weights(26) = 0.001516273730044745199;
  weights(27) = 0.001516273730044745199;
  weights(28) = 0.001516273730044745199;
  weights(29) = 0.001516273730044745199;
  weights(30) = 0.0036594531646208477808;
  weights(31) = 0.0036594531646208477808;
  weights(32) = 0.0036594531646208477808;
  weights(33) = 0.0036594531646208477808;
  weights(34) = 0.0036594531646208477808;
  weights(35) = 0.0036594531646208477808;
  weights(36) = 0.002694159421490490737;
  weights(37) = 0.002694159421490490737;
  weights(38) = 0.002694159421490490737;
  weights(39) = 0.002694159421490490737;
  weights(40) = 0.002694159421490490737;
  weights(41) = 0.002694159421490490737;
  weights(42) = 0.0037925461781852616225;
  weights(43) = 0.0037925461781852616225;
  weights(44) = 0.0037925461781852616225;
  weights(45) = 0.0022846079594907404628;
  weights(46) = 0.0022846079594907404628;
  weights(47) = 0.0022846079594907404628;
  weights(48) = 0.0022846079594907404628;
  weights(49) = 0.0022846079594907404628;
  weights(50) = 0.0022846079594907404628;
  weights(51) = 0.0028601799532292377509;
  weights(52) = 0.0028601799532292377509;
  weights(53) = 0.0028601799532292377509;
  weights(54) = 0.0028601799532292377509;
  weights(55) = 0.0028601799532292377509;
  weights(56) = 0.0028601799532292377509;
  weights(57) = 0.0033560024245428343379;
  weights(58) = 0.0033560024245428343379;
  weights(59) = 0.0033560024245428343379;
  weights(60) = 0.0033560024245428343379;
  weights(61) = 0.0033560024245428343379;
  weights(62) = 0.0033560024245428343379;
  weights(63) = 0.0011585387546565735321;
  weights(64) = 0.0011585387546565735321;
  weights(65) = 0.0011585387546565735321;
  weights(66) = 0.0011585387546565735321;
  weights(67) = 0.0011585387546565735321;
  weights(68) = 0.0011585387546565735321;
  weights(69) = 0.00015433463098526618309;
  weights(70) = 0.00015433463098526618309;
  weights(71) = 0.00015433463098526618309;
  weights(72) = 0.00015433463098526618309;
  weights(73) = 0.00015433463098526618309;
  weights(74) = 0.00015433463098526618309;
  weights(75) = 0.00060235138472052984077;
  weights(76) = 0.00060235138472052984077;
  weights(77) = 0.00060235138472052984077;
  weights(78) = 0.00060235138472052984077;
  weights(79) = 0.00060235138472052984077;
  weights(80) = 0.00060235138472052984077;
  weights(81) = 0.0040818731260717933812;
  weights(82) = 0.0040818731260717933812;
  weights(83) = 0.0040818731260717933812;
  weights(84) = 0.0040818731260717933812;
  weights(85) = 0.0040818731260717933812;
  weights(86) = 0.0040818731260717933812;
  weights(87) = 0.0026250300771643881453;
  weights(88) = 0.0026250300771643881453;
  weights(89) = 0.0026250300771643881453;
  weights(90) = 0.0029404173396389136387;
  weights(91) = 0.0029404173396389136387;
  weights(92) = 0.0029404173396389136387;
  weights(93) = 0.0021822620140949538538;
  weights(94) = 0.0021822620140949538538;
  weights(95) = 0.0021822620140949538538;
  weights(96) = 0.0021822620140949538538;
  weights(97) = 0.0021822620140949538538;
  weights(98) = 0.0021822620140949538538;
  weights(99) = 0.00027489827532365914472;
  weights(100) = 0.00027489827532365914472;
  weights(101) = 0.00027489827532365914472;
  weights(102) = 0.00027489827532365914472;
  weights(103) = 0.00027489827532365914472;
  weights(104) = 0.00027489827532365914472;
  weights(105) = 0.0043222782870426653887;
  weights(106) = 0.0043222782870426653887;
  weights(107) = 0.0043222782870426653887;
  weights(108) = 0.0026232190793460861099;
  weights(109) = 0.0026232190793460861099;
  weights(110) = 0.0026232190793460861099;
  weights(111) = 0.0026232190793460861099;
  weights(112) = 0.0026232190793460861099;
  weights(113) = 0.0026232190793460861099;
  weights(114) = 0.0016292447281956456712;
  weights(115) = 0.0016292447281956456712;
  weights(116) = 0.0016292447281956456712;
  weights(117) = 0.0016292447281956456712;
  weights(118) = 0.0016292447281956456712;
  weights(119) = 0.0016292447281956456712;
  weights(120) = 0.0023906174941901959727;
  weights(121) = 0.0023906174941901959727;
  weights(122) = 0.0023906174941901959727;
  weights(123) = 0.0023906174941901959727;
  weights(124) = 0.0023906174941901959727;
  weights(125) = 0.0023906174941901959727;
  weights(126) = 0.00080438595144342981032;
  weights(127) = 0.00080438595144342981032;
  weights(128) = 0.00080438595144342981032;
  weights(129) = 0.00080438595144342981032;
  weights(130) = 0.00080438595144342981032;
  weights(131) = 0.00080438595144342981032;
  weights(132) = 0.00043879362607540726808;
  weights(133) = 0.00043879362607540726808;
  weights(134) = 0.00043879362607540726808;
  weights(135) = 0.0014912832526496650094;
  weights(136) = 0.0014912832526496650094;
  weights(137) = 0.0014912832526496650094;
  weights(138) = 0.0014912832526496650094;
  weights(139) = 0.0014912832526496650094;
  weights(140) = 0.0014912832526496650094;
  weights(141) = 0.0030469744217764302245;
  weights(142) = 0.0030469744217764302245;
  weights(143) = 0.0030469744217764302245;
  weights(144) = 0.0030469744217764302245;
  weights(145) = 0.0030469744217764302245;
  weights(146) = 0.0030469744217764302245;
  weights(147) = 0.0035436703730283209725;
  weights(148) = 0.0035436703730283209725;
  weights(149) = 0.0035436703730283209725;
  weights(150) = 0.0035436703730283209725;
  weights(151) = 0.0035436703730283209725;
  weights(152) = 0.0035436703730283209725;
  weights(153) = 0.0017931168013748419003;
  weights(154) = 0.0017931168013748419003;
  weights(155) = 0.0017931168013748419003;
  weights(156) = 0.0015748763140405943207;
  weights(157) = 0.0015748763140405943207;
  weights(158) = 0.0015748763140405943207;
  weights(159) = 0.0015748763140405943207;
  weights(160) = 0.0015748763140405943207;
  weights(161) = 0.0015748763140405943207;
  weights(162) = 0.0024996214142379087793;
  weights(163) = 0.0024996214142379087793;
  weights(164) = 0.0024996214142379087793;
  weights(165) = 0.0045394212527698233825;
  weights(166) = 0.0045394212527698233825;
  weights(167) = 0.0045394212527698233825;
  weights(168) = 0.0031259349765604786675;
  weights(169) = 0.0031259349765604786675;
  weights(170) = 0.0031259349765604786675;
  weights(171) = 0.0031259349765604786675;
  weights(172) = 0.0031259349765604786675;
  weights(173) = 0.0031259349765604786675;
  weights(174) = 0.00070783905459725557363;
  weights(175) = 0.00070783905459725557363;
  weights(176) = 0.00070783905459725557363;
  weights(177) = 0.0051033183245867948588;
  weights(178) = 0.0051033183245867948588;
  weights(179) = 0.0051033183245867948588;
  weights(180) = 0.00047465266127361431178;
  weights(181) = 0.00047465266127361431178;
  weights(182) = 0.00047465266127361431178;
  weights(183) = 0.00047465266127361431178;
  weights(184) = 0.00047465266127361431178;
  weights(185) = 0.00047465266127361431178;
  weights(186) = 0.0020156260421464013491;
  weights(187) = 0.0020156260421464013491;
  weights(188) = 0.0020156260421464013491;
  weights(189) = 0.0020156260421464013491;
  weights(190) = 0.0020156260421464013491;
  weights(191) = 0.0020156260421464013491;
  weights(192) = 0.0040861087741151979127;
  weights(193) = 0.0040861087741151979127;
  weights(194) = 0.0040861087741151979127;
  weights(195) = 0.0040861087741151979127;
  weights(196) = 0.0040861087741151979127;
  weights(197) = 0.0040861087741151979127;
  weights(198) = 8.66476678904295794e-05;
  weights(199) = 8.66476678904295794e-05;
  weights(200) = 8.66476678904295794e-05;
  weights(201) = 0.0044793295143609173498;
  weights(202) = 0.0044793295143609173498;
  weights(203) = 0.0044793295143609173498;
  weights(204) = 0.0044793295143609173498;
  weights(205) = 0.0044793295143609173498;
  weights(206) = 0.0044793295143609173498;
  weights(207) = 0.0012310493707461606702;
  weights(208) = 0.0012310493707461606702;
  weights(209) = 0.0012310493707461606702;
  weights(210) = 0.0012310493707461606702;
  weights(211) = 0.0012310493707461606702;
  weights(212) = 0.0012310493707461606702;
  weights(213) = 0.00071064646066096390925;
  weights(214) = 0.00071064646066096390925;
  weights(215) = 0.00071064646066096390925;
  weights(216) = 0.00071064646066096390925;
  weights(217) = 0.00071064646066096390925;
  weights(218) = 0.00071064646066096390925;
  weights(219) = 0.00065257824795934024718;
  weights(220) = 0.00065257824795934024718;
  weights(221) = 0.00065257824795934024718;
  weights(222) = 0.00065257824795934024718;
  weights(223) = 0.00065257824795934024718;
  weights(224) = 0.00065257824795934024718;
  weights(225) = 0.00072295476389436349931;
  weights(226) = 0.00072295476389436349931;
  weights(227) = 0.00072295476389436349931;
  weights(228) = 0.00072295476389436349931;
  weights(229) = 0.00072295476389436349931;
  weights(230) = 0.00072295476389436349931;
  weights(231) = 0.0014672975290397597022;
  weights(232) = 0.0014672975290397597022;
  weights(233) = 0.0014672975290397597022;
  weights(234) = 0.0014672975290397597022;
  weights(235) = 0.0014672975290397597022;
  weights(236) = 0.0014672975290397597022;
  weights(237) = 0.00059822950263491538655;
  weights(238) = 0.00059822950263491538655;
  weights(239) = 0.00059822950263491538655;
  weights(240) = 0.00059822950263491538655;
  weights(241) = 0.00059822950263491538655;
  weights(242) = 0.00059822950263491538655;
  weights(243) = 0.0024367522099614648094;
  weights(244) = 0.0024367522099614648094;
  weights(245) = 0.0024367522099614648094;
  weights(246) = 0.0024367522099614648094;
  weights(247) = 0.0024367522099614648094;
  weights(248) = 0.0024367522099614648094;
  weights(249) = 0.0041453066285268595423;
  weights(250) = 0.0041453066285268595423;
  weights(251) = 0.0041453066285268595423;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 37);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 38>() { // NOLINT
  Eigen::MatrixXd points(2, 267);
  Eigen::VectorXd weights(267);

  points(0, 0) = 0.45907213603176455496;
  points(1, 0) = 0.081855727936470890072;
  points(0, 1) = 0.45907213603176455496;
  points(1, 1) = 0.45907213603176461048;
  points(0, 2) = 0.08185572793647083456;
  points(1, 2) = 0.45907213603176477701;
  points(0, 3) = 0.28376551470174071756;
  points(1, 3) = 0.052297113902011443942;
  points(0, 4) = 0.66393737139624797727;
  points(1, 4) = 0.28376551470174071756;
  points(0, 5) = 0.052297113902011416187;
  points(1, 5) = 0.6639373713962480883;
  points(0, 6) = 0.66393737139624786625;
  points(1, 6) = 0.052297113902011443942;
  points(0, 7) = 0.28376551470174071756;
  points(1, 7) = 0.66393737139624797727;
  points(0, 8) = 0.052297113902011360675;
  points(1, 8) = 0.28376551470174093961;
  points(0, 9) = 0.39326800625536006972;
  points(1, 9) = 0.21346398748927991607;
  points(0, 10) = 0.39326800625536006972;
  points(1, 10) = 0.39326800625536012523;
  points(0, 11) = 0.21346398748927977729;
  points(1, 11) = 0.39326800625536023626;
  points(0, 12) = 0.12851656496969393606;
  points(1, 12) = 0.099079762701841281314;
  points(0, 13) = 0.77240367232846474099;
  points(1, 13) = 0.12851656496969396382;
  points(0, 14) = 0.099079762701841378458;
  points(1, 14) = 0.77240367232846485201;
  points(0, 15) = 0.77240367232846474099;
  points(1, 15) = 0.099079762701841281314;
  points(0, 16) = 0.12851656496969410259;
  points(1, 16) = 0.77240367232846485201;
  points(0, 17) = 0.099079762701841073147;
  points(1, 17) = 0.12851656496969426913;
  points(0, 18) = 0.46818258920693567315;
  points(1, 18) = 0.063634821586128625936;
  points(0, 19) = 0.46818258920693567315;
  points(1, 19) = 0.46818258920693578418;
  points(0, 20) = 0.063634821586128514914;
  points(1, 20) = 0.46818258920693595071;
  points(0, 21) = 0.04130750414286143285;
  points(1, 21) = 0.0020644051493051871968;
  points(0, 22) = 0.95662809070783327847;
  points(1, 22) = 0.041307504142861418972;
  points(0, 23) = 0.0020644051493053927615;
  points(1, 23) = 0.95662809070783350052;
  points(0, 24) = 0.95662809070783338949;
  points(1, 24) = 0.0020644051493051871968;
  points(0, 25) = 0.041307504142861550811;
  points(1, 25) = 0.95662809070783350052;
  points(0, 26) = 0.0020644051493048549972;
  points(1, 26) = 0.041307504142861738161;
  points(0, 27) = 0.08927198005341446807;
  points(1, 27) = 0.036730175649348342781;
  points(0, 28) = 0.87399784429723714752;
  points(1, 28) = 0.089271980053414440315;
  points(0, 29) = 0.036730175649348439926;
  points(1, 29) = 0.87399784429723736956;
  points(0, 30) = 0.87399784429723714752;
  points(1, 30) = 0.036730175649348342781;
  points(0, 31) = 0.089271980053414523582;
  points(1, 31) = 0.87399784429723736956;
  points(0, 32) = 0.036730175649348092981;
  points(1, 32) = 0.089271980053414773382;
  points(0, 33) = 0.33720529231798723746;
  points(1, 33) = 0.22594582448778571804;
  points(0, 34) = 0.43684888319422710001;
  points(1, 34) = 0.33720529231798734848;
  points(0, 35) = 0.22594582448778563477;
  points(1, 35) = 0.43684888319422715552;
  points(0, 36) = 0.43684888319422710001;
  points(1, 36) = 0.22594582448778571804;
  points(0, 37) = 0.33720529231798723746;
  points(1, 37) = 0.43684888319422715552;
  points(0, 38) = 0.22594582448778557926;
  points(1, 38) = 0.33720529231798740399;
  points(0, 39) = 0.27385137412417870362;
  points(1, 39) = 0.032701181990053770909;
  points(0, 40) = 0.69344744388576740057;
  points(1, 40) = 0.27385137412417875913;
  points(0, 41) = 0.032701181990053784787;
  points(1, 41) = 0.69344744388576773364;
  points(0, 42) = 0.6934474438857675116;
  points(1, 42) = 0.032701181990053770909;
  points(0, 43) = 0.27385137412417875913;
  points(1, 43) = 0.69344744388576773364;
  points(0, 44) = 0.032701181990053590498;
  points(1, 44) = 0.27385137412417898117;
  points(0, 45) = 0.039916262629419441144;
  points(1, 45) = 0.01306950904433001534;
  points(0, 46) = 0.94701422832625048454;
  points(1, 46) = 0.039916262629419434205;
  points(0, 47) = 0.013069509044330240854;
  points(1, 47) = 0.94701422832625059556;
  points(0, 48) = 0.94701422832625059556;
  points(1, 48) = 0.01306950904433001534;
  points(0, 49) = 0.039916262629419607677;
  points(1, 49) = 0.94701422832625059556;
  points(0, 50) = 0.013069509044329692682;
  points(1, 50) = 0.039916262629419815844;
  points(0, 51) = 0.017504504046267289202;
  points(1, 51) = 0.017504504046267597983;
  points(0, 52) = 0.96499099190746495669;
  points(1, 52) = 0.017504504046267275325;
  points(0, 53) = 0.017504504046267688189;
  points(1, 53) = 0.96499099190746528976;
  points(0, 54) = 0.30810683275938433034;
  points(1, 54) = 0.073717614571015915859;
  points(0, 55) = 0.61817555266959978155;
  points(1, 55) = 0.30810683275938433034;
  points(0, 56) = 0.073717614571015943614;
  points(1, 56) = 0.61817555266959989257;
  points(0, 57) = 0.61817555266959978155;
  points(1, 57) = 0.073717614571015915859;
  points(0, 58) = 0.30810683275938433034;
  points(1, 58) = 0.61817555266959978155;
  points(0, 59) = 0.073717614571015804836;
  points(1, 59) = 0.30810683275938449688;
  points(0, 60) = 0.14548011465286070365;
  points(1, 60) = 0.14548011465286092569;
  points(0, 61) = 0.70903977069427825963;
  points(1, 61) = 0.14548011465286075916;
  points(0, 62) = 0.14548011465286092569;
  points(1, 62) = 0.7090397706942785927;
  points(0, 63) = 0.21962471313843562326;
  points(1, 63) = 0.0027038822145435278087;
  points(0, 64) = 0.77767140464702078084;
  points(1, 64) = 0.21962471313843562326;
  points(0, 65) = 0.0027038822145436514077;
  points(1, 65) = 0.77767140464702089186;
  points(0, 66) = 0.77767140464702078084;
  points(1, 66) = 0.0027038822145435278087;
  points(0, 67) = 0.21962471313843573428;
  points(1, 67) = 0.77767140464702089186;
  points(0, 68) = 0.0027038822145433599742;
  points(1, 68) = 0.21962471313843592857;
  points(0, 69) = 0.27346460711428144386;
  points(1, 69) = 0.21915826344602878928;
  points(0, 70) = 0.50737712943968982238;
  points(1, 70) = 0.27346460711428149937;
  points(0, 71) = 0.21915826344602873377;
  points(1, 71) = 0.5073771294396899334;
  points(0, 72) = 0.50737712943968982238;
  points(1, 72) = 0.21915826344602878928;
  points(0, 73) = 0.27346460711428138834;
  points(1, 73) = 0.5073771294396899334;
  points(0, 74) = 0.21915826344602859499;
  points(1, 74) = 0.27346460711428161039;
  points(0, 75) = 0.068683002855552677257;
  points(1, 75) = 0.02072281188151403955;
  points(0, 76) = 0.91059418526293323115;
  points(1, 76) = 0.068683002855552635624;
  points(0, 77) = 0.020722811881514202614;
  points(1, 77) = 0.91059418526293334217;
  points(0, 78) = 0.91059418526293323115;
  points(1, 78) = 0.02072281188151403955;
  points(0, 79) = 0.068683002855552843791;
  points(1, 79) = 0.91059418526293334217;
  points(0, 80) = 0.02072281188151379322;
  points(1, 80) = 0.068683002855552996446;
  points(0, 81) = 0.18301359984017945282;
  points(1, 81) = 0.10062172089207609138;
  points(0, 82) = 0.71636467926774449744;
  points(1, 82) = 0.18301359984017948057;
  points(0, 83) = 0.10062172089207604975;
  points(1, 83) = 0.71636467926774471948;
  points(0, 84) = 0.71636467926774449744;
  points(1, 84) = 0.10062172089207609138;
  points(0, 85) = 0.18301359984017945282;
  points(1, 85) = 0.71636467926774460846;
  points(0, 86) = 0.10062172089207591097;
  points(1, 86) = 0.18301359984017978588;
  points(0, 87) = 0.0030471742663604941409;
  points(1, 87) = 0.0030471742663607699619;
  points(0, 88) = 0.99390565146727871682;
  points(1, 88) = 0.0030471742663604494718;
  points(0, 89) = 0.0030471742663609191482;
  points(1, 89) = 0.99390565146727882784;
  points(0, 90) = 0.22879948322992527121;
  points(1, 90) = 0.069489817833509257006;
  points(0, 91) = 0.70171069893656534688;
  points(1, 91) = 0.22879948322992527121;
  points(0, 92) = 0.069489817833509326395;
  points(1, 92) = 0.70171069893656567995;
  points(0, 93) = 0.70171069893656545791;
  points(1, 93) = 0.069489817833509257006;
  points(0, 94) = 0.2287994832299252157;
  points(1, 94) = 0.70171069893656567995;
  points(0, 95) = 0.069489817833509076594;
  points(1, 95) = 0.22879948322992554877;
  points(0, 96) = 0.058736160112021998381;
  points(1, 96) = 0.058736160112022296753;
  points(0, 97) = 0.88252767977595569793;
  points(1, 97) = 0.05873616011202200532;
  points(0, 98) = 0.058736160112022262059;
  points(1, 98) = 0.88252767977595591997;
  points(0, 99) = 0.10188271148693912871;
  points(1, 99) = 0.068377355422513858008;
  points(0, 100) = 0.82973993309054694389;
  points(1, 100) = 0.10188271148693912871;
  points(0, 101) = 0.068377355422513941274;
  points(1, 101) = 0.82973993309054716594;
  points(0, 102) = 0.82973993309054705492;
  points(1, 102) = 0.068377355422513858008;
  points(0, 103) = 0.10188271148693922585;
  points(1, 103) = 0.82973993309054716594;
  points(0, 104) = 0.068377355422513635963;
  points(1, 104) = 0.1018827114869394479;
  points(0, 105) = 0.24356367339581705411;
  points(1, 105) = 0.014320441363316482528;
  points(0, 106) = 0.74211588524086646856;
  points(1, 106) = 0.24356367339581708187;
  points(0, 107) = 0.014320441363316449568;
  points(1, 107) = 0.74211588524086669061;
  points(0, 108) = 0.74211588524086646856;
  points(1, 108) = 0.014320441363316482528;
  points(0, 109) = 0.24356367339581719289;
  points(1, 109) = 0.74211588524086646856;
  points(0, 110) = 0.014320441363316352423;
  points(1, 110) = 0.24356367339581738718;
  points(0, 111) = 0.20588771651790119255;
  points(1, 111) = 0.038967856742294269823;
  points(0, 112) = 0.75514442673980453069;
  points(1, 112) = 0.20588771651790119255;
  points(0, 113) = 0.038967856742294360028;
  points(1, 113) = 0.75514442673980464171;
  points(0, 114) = 0.75514442673980453069;
  points(1, 114) = 0.038967856742294269823;
  points(0, 115) = 0.20588771651790127581;
  points(1, 115) = 0.75514442673980464171;
  points(0, 116) = 0.03896785674229409635;
  points(1, 116) = 0.2058877165179014701;
  points(0, 117) = 0.20186950888760307743;
  points(1, 117) = 0.14939646191794417329;
  points(0, 118) = 0.64873402919445266601;
  points(1, 118) = 0.2018695088876031607;
  points(0, 119) = 0.14939646191794414554;
  points(1, 119) = 0.64873402919445288806;
  points(0, 120) = 0.64873402919445277703;
  points(1, 120) = 0.14939646191794417329;
  points(0, 121) = 0.20186950888760318845;
  points(1, 121) = 0.64873402919445288806;
  points(0, 122) = 0.14939646191794403451;
  points(1, 122) = 0.20186950888760338274;
  points(0, 123) = 0.15911602101054517222;
  points(1, 123) = 0.062228211818953299561;
  points(0, 124) = 0.77865576717050144495;
  points(1, 124) = 0.15911602101054522773;
  points(0, 125) = 0.062228211818953327317;
  points(1, 125) = 0.778655767170501667;
  points(0, 126) = 0.77865576717050155597;
  points(1, 126) = 0.062228211818953299561;
  points(0, 127) = 0.15911602101054522773;
  points(1, 127) = 0.778655767170501667;
  points(0, 128) = 0.062228211818953091394;
  points(1, 128) = 0.15911602101054547753;
  points(0, 129) = 0.17794763585559181251;
  points(1, 129) = 0.017619241470485987738;
  points(0, 130) = 0.80443312267392219628;
  points(1, 130) = 0.17794763585559184027;
  points(0, 131) = 0.017619241470485991208;
  points(1, 131) = 0.80443312267392241832;
  points(0, 132) = 0.80443312267392219628;
  points(1, 132) = 0.017619241470485987738;
  points(0, 133) = 0.17794763585559186803;
  points(1, 133) = 0.80443312267392241832;
  points(0, 134) = 0.017619241470485824674;
  points(1, 134) = 0.17794763585559214558;
  points(0, 135) = 0.16203674794969208373;
  points(1, 135) = 0.0039477276652124552656;
  points(0, 136) = 0.83401552438509551912;
  points(1, 136) = 0.16203674794969211148;
  points(0, 137) = 0.0039477276652125081746;
  points(1, 137) = 0.83401552438509563014;
  points(0, 138) = 0.8340155243850954081;
  points(1, 138) = 0.0039477276652124552656;
  points(0, 139) = 0.16203674794969208373;
  points(1, 139) = 0.83401552438509563014;
  points(0, 140) = 0.0039477276652122583744;
  points(1, 140) = 0.16203674794969241679;
  points(0, 141) = 0.29185498385852459702;
  points(1, 141) = 0.0029311798861729105627;
  points(0, 142) = 0.70521383625530242867;
  points(1, 142) = 0.29185498385852465253;
  points(0, 143) = 0.0029311798861729188026;
  points(1, 143) = 0.70521383625530276174;
  points(0, 144) = 0.70521383625530253969;
  points(1, 144) = 0.0029311798861729105627;
  points(0, 145) = 0.29185498385852454151;
  points(1, 145) = 0.70521383625530276174;
  points(0, 146) = 0.0029311798861726690024;
  points(1, 146) = 0.29185498385852487457;
  points(0, 147) = 0.37187869174958915197;
  points(1, 147) = 0.0027779809824385629999;
  points(0, 148) = 0.62534332726797225988;
  points(1, 148) = 0.37187869174958920748;
  points(0, 149) = 0.0027779809824384771311;
  points(1, 149) = 0.62534332726797259294;
  points(0, 150) = 0.62534332726797225988;
  points(1, 150) = 0.0027779809824385629999;
  points(0, 151) = 0.37187869174958915197;
  points(1, 151) = 0.6253433272679723709;
  points(0, 152) = 0.0027779809824384216199;
  points(1, 152) = 0.3718786917495893185;
  points(0, 153) = 0.13496937265246528037;
  points(1, 153) = 0.034322185835850241298;
  points(0, 154) = 0.83070844151168454772;
  points(1, 154) = 0.13496937265246528037;
  points(0, 155) = 0.034322185835850338442;
  points(1, 155) = 0.83070844151168454772;
  points(0, 156) = 0.83070844151168454772;
  points(1, 156) = 0.034322185835850241298;
  points(0, 157) = 0.1349693726524654469;
  points(1, 157) = 0.83070844151168454772;
  points(0, 158) = 0.034322185835850005375;
  points(1, 158) = 0.13496937265246555793;
  points(0, 159) = 0.037383557501746461638;
  points(1, 159) = 0.037383557501746773888;
  points(0, 160) = 0.92523288499650668815;
  points(1, 160) = 0.03738355750174644776;
  points(0, 161) = 0.037383557501746933482;
  points(1, 161) = 0.92523288499650679917;
  points(0, 162) = 0.28550477829126402751;
  points(1, 162) = 0.28550477829126419405;
  points(0, 163) = 0.42899044341747183395;
  points(1, 163) = 0.28550477829126413853;
  points(0, 164) = 0.28550477829126402751;
  points(1, 164) = 0.42899044341747194498;
  points(0, 165) = 0.25245342990642194447;
  points(1, 165) = 0.1087240393419248996;
  points(0, 166) = 0.63882253075165307266;
  points(1, 166) = 0.25245342990642194447;
  points(0, 167) = 0.10872403934192492736;
  points(1, 167) = 0.6388225307516532947;
  points(0, 168) = 0.63882253075165318368;
  points(1, 168) = 0.1087240393419248996;
  points(0, 169) = 0.25245342990642194447;
  points(1, 169) = 0.6388225307516532947;
  points(0, 170) = 0.10872403934192473307;
  points(1, 170) = 0.25245342990642211101;
  points(0, 171) = 0.42033350177001421732;
  points(1, 171) = 0.15933299645997159311;
  points(0, 172) = 0.42033350177001427284;
  points(1, 172) = 0.42033350177001432835;
  points(0, 173) = 0.15933299645997150984;
  points(1, 173) = 0.42033350177001438386;
  points(0, 174) = 0.32423516410830449663;
  points(1, 174) = 0.014949107908045424983;
  points(0, 175) = 0.66081572798365006971;
  points(1, 175) = 0.32423516410830449663;
  points(0, 176) = 0.014949107908045433657;
  points(1, 176) = 0.66081572798365029175;
  points(0, 177) = 0.66081572798365006971;
  points(1, 177) = 0.014949107908045424983;
  points(0, 178) = 0.32423516410830449663;
  points(1, 178) = 0.66081572798365029175;
  points(0, 179) = 0.014949107908045267123;
  points(1, 179) = 0.32423516410830477419;
  points(0, 180) = 0.2076894216538629212;
  points(1, 180) = 0.20768942165386311549;
  points(0, 181) = 0.58462115669227399106;
  points(1, 181) = 0.20768942165386300447;
  points(0, 182) = 0.20768942165386300447;
  points(1, 182) = 0.58462115669227421311;
  points(0, 183) = 0.49219627295531076516;
  points(1, 183) = 0.015607454089378426307;
  points(0, 184) = 0.49219627295531076516;
  points(1, 184) = 0.49219627295531087618;
  points(0, 185) = 0.015607454089378358653;
  points(1, 185) = 0.49219627295531098721;
  points(0, 186) = 0.43741619064662567995;
  points(1, 186) = 0.03732407715926346764;
  points(0, 187) = 0.52525973219411081772;
  points(1, 187) = 0.43741619064662579097;
  points(0, 188) = 0.037324077159263446823;
  points(1, 188) = 0.52525973219411103976;
  points(0, 189) = 0.52525973219411081772;
  points(1, 189) = 0.03732407715926346764;
  points(0, 190) = 0.43741619064662567995;
  points(1, 190) = 0.52525973219411092874;
  points(0, 191) = 0.037324077159263419068;
  points(1, 191) = 0.43741619064662590199;
  points(0, 192) = 0.45599880366120931763;
  points(1, 192) = 0.0029632719316369520064;
  points(0, 193) = 0.54103792440715370304;
  points(1, 193) = 0.45599880366120937314;
  points(0, 194) = 0.0029632719316369238172;
  points(1, 194) = 0.54103792440715392509;
  points(0, 195) = 0.54103792440715370304;
  points(1, 195) = 0.0029632719316369520064;
  points(0, 196) = 0.45599880366120931763;
  points(1, 196) = 0.54103792440715381407;
  points(0, 197) = 0.0029632719316368960616;
  points(1, 197) = 0.45599880366120953967;
  points(0, 198) = 0.075487285700568299007;
  points(1, 198) = 0.004202978160773509532;
  points(0, 199) = 0.92030973613865818539;
  points(1, 199) = 0.075487285700568243496;
  points(0, 200) = 0.0042029781607736405036;
  points(1, 200) = 0.92030973613865840743;
  points(0, 201) = 0.92030973613865818539;
  points(1, 201) = 0.004202978160773509532;
  points(0, 202) = 0.075487285700568340641;
  points(1, 202) = 0.92030973613865840743;
  points(0, 203) = 0.0042029781607732588644;
  points(1, 203) = 0.075487285700568604319;
  points(0, 204) = 0.32605412665294658536;
  points(1, 204) = 0.11427418738045443114;
  points(0, 205) = 0.55967168596659899737;
  points(1, 205) = 0.32605412665294669639;
  points(0, 206) = 0.11427418738045441726;
  points(1, 206) = 0.5596716859665991084;
  points(0, 207) = 0.55967168596659899737;
  points(1, 207) = 0.11427418738045443114;
  points(0, 208) = 0.32605412665294669639;
  points(1, 208) = 0.55967168596659899737;
  points(0, 209) = 0.11427418738045427848;
  points(1, 209) = 0.32605412665294680741;
  points(0, 210) = 0.40119958850548820273;
  points(1, 210) = 0.11288808531292152115;
  points(0, 211) = 0.48591232618159030388;
  points(1, 211) = 0.40119958850548825824;
  points(0, 212) = 0.11288808531292143789;
  points(1, 212) = 0.48591232618159052592;
  points(0, 213) = 0.48591232618159030388;
  points(1, 213) = 0.11288808531292152115;
  points(0, 214) = 0.40119958850548814722;
  points(1, 214) = 0.4859123261815904149;
  points(0, 215) = 0.11288808531292138237;
  points(1, 215) = 0.40119958850548842477;
  points(0, 216) = 0.26876066034126400162;
  points(1, 216) = 0.16019667789975589045;
  points(0, 217) = 0.57104266175898021896;
  points(1, 217) = 0.26876066034126405713;
  points(0, 218) = 0.16019667789975583494;
  points(1, 218) = 0.57104266175898032998;
  points(0, 219) = 0.57104266175898010793;
  points(1, 219) = 0.16019667789975589045;
  points(0, 220) = 0.26876066034126405713;
  points(1, 220) = 0.57104266175898021896;
  points(0, 221) = 0.16019667789975575167;
  points(1, 221) = 0.26876066034126416815;
  points(0, 222) = 0.40601470257387717311;
  points(1, 222) = 0.015155128640289419056;
  points(0, 223) = 0.57883016878583348763;
  points(1, 223) = 0.40601470257387717311;
  points(0, 224) = 0.01515512864028939477;
  points(1, 224) = 0.57883016878583359865;
  points(0, 225) = 0.57883016878583348763;
  points(1, 225) = 0.015155128640289419056;
  points(0, 226) = 0.40601470257387728413;
  points(1, 226) = 0.57883016878583348763;
  points(0, 227) = 0.015155128640289311504;
  points(1, 227) = 0.40601470257387745066;
  points(0, 228) = 0.35656559398302611896;
  points(1, 228) = 0.28686881203394770656;
  points(0, 229) = 0.35656559398302611896;
  points(1, 229) = 0.3565655939830262855;
  points(0, 230) = 0.28686881203394765105;
  points(1, 230) = 0.3565655939830262855;
  points(0, 231) = 0.38351034683434015449;
  points(1, 231) = 0.070042181500437894481;
  points(0, 232) = 0.54644747166522200654;
  points(1, 232) = 0.38351034683434021;
  points(0, 233) = 0.070042181500437783459;
  points(1, 233) = 0.54644747166522222859;
  points(0, 234) = 0.54644747166522189552;
  points(1, 234) = 0.070042181500437894481;
  points(0, 235) = 0.38351034683434021;
  points(1, 235) = 0.54644747166522200654;
  points(0, 236) = 0.07004218150043783897;
  points(1, 236) = 0.38351034683434037653;
  points(0, 237) = 0.016447064636943155291;
  points(1, 237) = 0.0034429885015808013235;
  points(0, 238) = 0.98010994686147601129;
  points(1, 238) = 0.016447064636943151822;
  points(0, 239) = 0.0034429885015809236215;
  points(1, 239) = 0.98010994686147612232;
  points(0, 240) = 0.98010994686147601129;
  points(1, 240) = 0.0034429885015808013235;
  points(0, 241) = 0.01644706463694328713;
  points(1, 241) = 0.98010994686147612232;
  points(0, 242) = 0.0034429885015804934101;
  points(1, 242) = 0.016447064636943536931;
  points(0, 243) = 0.35429778616269475;
  points(1, 243) = 0.037667614478677308165;
  points(0, 244) = 0.60803459935862791408;
  points(1, 244) = 0.35429778616269475;
  points(0, 245) = 0.037667614478677391432;
  points(1, 245) = 0.6080345993586280251;
  points(0, 246) = 0.60803459935862791408;
  points(1, 246) = 0.037667614478677308165;
  points(0, 247) = 0.35429778616269480551;
  points(1, 247) = 0.6080345993586280251;
  points(0, 248) = 0.037667614478677197143;
  points(1, 248) = 0.35429778616269497205;
  points(0, 249) = 0.341995175798316009;
  points(1, 249) = 0.16599842667671568797;
  points(0, 250) = 0.49200639752496821977;
  points(1, 250) = 0.34199517579831617553;
  points(0, 251) = 0.1659984266767156047;
  points(1, 251) = 0.49200639752496844181;
  points(0, 252) = 0.49200639752496827528;
  points(1, 252) = 0.16599842667671568797;
  points(0, 253) = 0.34199517579831606451;
  points(1, 253) = 0.4920063975249683863;
  points(0, 254) = 0.16599842667671554919;
  points(1, 254) = 0.34199517579831628655;
  points(0, 255) = 0.11528889107927837998;
  points(1, 255) = 0.012032531111165183785;
  points(0, 256) = 0.87267857780955637725;
  points(1, 256) = 0.11528889107927835223;
  points(0, 257) = 0.012032531111165256643;
  points(1, 257) = 0.8726785778095565993;
  points(0, 258) = 0.87267857780955648828;
  points(1, 258) = 0.012032531111165183785;
  points(0, 259) = 0.11528889107927847713;
  points(1, 259) = 0.8726785778095565993;
  points(0, 260) = 0.012032531111164951332;
  points(1, 260) = 0.11528889107927869917;
  points(0, 261) = 0.11652810181240254306;
  points(1, 261) = 0.00029822168152012938289;
  points(0, 262) = 0.88317367650607736529;
  points(1, 262) = 0.11652810181240252918;
  points(0, 263) = 0.00029822168152021655274;
  points(1, 263) = 0.88317367650607747631;
  points(0, 264) = 0.88317367650607736529;
  points(1, 264) = 0.00029822168152012938289;
  points(0, 265) = 0.11652810181240269571;
  points(1, 265) = 0.88317367650607736529;
  points(0, 266) = 0.00029822168151995287477;
  points(1, 266) = 0.11652810181240289;

  weights(0) = 0.0015819822201419615239;
  weights(1) = 0.0015819822201419615239;
  weights(2) = 0.0015819822201419615239;
  weights(3) = 0.0012425026155713258299;
  weights(4) = 0.0012425026155713258299;
  weights(5) = 0.0012425026155713258299;
  weights(6) = 0.0012425026155713258299;
  weights(7) = 0.0012425026155713258299;
  weights(8) = 0.0012425026155713258299;
  weights(9) = 0.0029308291095543220241;
  weights(10) = 0.0029308291095543220241;
  weights(11) = 0.0029308291095543220241;
  weights(12) = 0.0018482445803534141692;
  weights(13) = 0.0018482445803534141692;
  weights(14) = 0.0018482445803534141692;
  weights(15) = 0.0018482445803534141692;
  weights(16) = 0.0018482445803534141692;
  weights(17) = 0.0018482445803534141692;
  weights(18) = 0.0019651084518505722819;
  weights(19) = 0.0019651084518505722819;
  weights(20) = 0.0019651084518505722819;
  weights(21) = 0.00017385219949684970571;
  weights(22) = 0.00017385219949684970571;
  weights(23) = 0.00017385219949684970571;
  weights(24) = 0.00017385219949684970571;
  weights(25) = 0.00017385219949684970571;
  weights(26) = 0.00017385219949684970571;
  weights(27) = 0.001036913436970389327;
  weights(28) = 0.001036913436970389327;
  weights(29) = 0.001036913436970389327;
  weights(30) = 0.001036913436970389327;
  weights(31) = 0.001036913436970389327;
  weights(32) = 0.001036913436970389327;
  weights(33) = 0.0036855205450056259878;
  weights(34) = 0.0036855205450056259878;
  weights(35) = 0.0036855205450056259878;
  weights(36) = 0.0036855205450056259878;
  weights(37) = 0.0036855205450056259878;
  weights(38) = 0.0036855205450056259878;
  weights(39) = 0.0015626990572199265725;
  weights(40) = 0.0015626990572199265725;
  weights(41) = 0.0015626990572199265725;
  weights(42) = 0.0015626990572199265725;
  weights(43) = 0.0015626990572199265725;
  weights(44) = 0.0015626990572199265725;
  weights(45) = 0.00045308810722602844024;
  weights(46) = 0.00045308810722602844024;
  weights(47) = 0.00045308810722602844024;
  weights(48) = 0.00045308810722602844024;
  weights(49) = 0.00045308810722602844024;
  weights(50) = 0.00045308810722602844024;
  weights(51) = 0.00034973488366480060333;
  weights(52) = 0.00034973488366480060333;
  weights(53) = 0.00034973488366480060333;
  weights(54) = 0.0024978138848733466744;
  weights(55) = 0.0024978138848733466744;
  weights(56) = 0.0024978138848733466744;
  weights(57) = 0.0024978138848733466744;
  weights(58) = 0.0024978138848733466744;
  weights(59) = 0.0024978138848733466744;
  weights(60) = 0.0026012112555219308457;
  weights(61) = 0.0026012112555219308457;
  weights(62) = 0.0026012112555219308457;
  weights(63) = 0.00046283409942495619058;
  weights(64) = 0.00046283409942495619058;
  weights(65) = 0.00046283409942495619058;
  weights(66) = 0.00046283409942495619058;
  weights(67) = 0.00046283409942495619058;
  weights(68) = 0.00046283409942495619058;
  weights(69) = 0.0041410832313464760943;
  weights(70) = 0.0041410832313464760943;
  weights(71) = 0.0041410832313464760943;
  weights(72) = 0.0041410832313464760943;
  weights(73) = 0.0041410832313464760943;
  weights(74) = 0.0041410832313464760943;
  weights(75) = 0.00076842123290365548904;
  weights(76) = 0.00076842123290365548904;
  weights(77) = 0.00076842123290365548904;
  weights(78) = 0.00076842123290365548904;
  weights(79) = 0.00076842123290365548904;
  weights(80) = 0.00076842123290365548904;
  weights(81) = 0.0026113703694071867083;
  weights(82) = 0.0026113703694071867083;
  weights(83) = 0.0026113703694071867083;
  weights(84) = 0.0026113703694071867083;
  weights(85) = 0.0026113703694071867083;
  weights(86) = 0.0026113703694071867083;
  weights(87) = 6.2023331326551805467e-05;
  weights(88) = 6.2023331326551805467e-05;
  weights(89) = 6.2023331326551805467e-05;
  weights(90) = 0.0023591963942099550798;
  weights(91) = 0.0023591963942099550798;
  weights(92) = 0.0023591963942099550798;
  weights(93) = 0.0023591963942099550798;
  weights(94) = 0.0023591963942099550798;
  weights(95) = 0.0023591963942099550798;
  weights(96) = 0.0012531911082572437348;
  weights(97) = 0.0012531911082572437348;
  weights(98) = 0.0012531911082572437348;
  weights(99) = 0.0018010585024764284336;
  weights(100) = 0.0018010585024764284336;
  weights(101) = 0.0018010585024764284336;
  weights(102) = 0.0018010585024764284336;
  weights(103) = 0.0018010585024764284336;
  weights(104) = 0.0018010585024764284336;
  weights(105) = 0.0011851452336966760218;
  weights(106) = 0.0011851452336966760218;
  weights(107) = 0.0011851452336966760218;
  weights(108) = 0.0011851452336966760218;
  weights(109) = 0.0011851452336966760218;
  weights(110) = 0.0011851452336966760218;
  weights(111) = 0.0018052449166878986684;
  weights(112) = 0.0018052449166878986684;
  weights(113) = 0.0018052449166878986684;
  weights(114) = 0.0018052449166878986684;
  weights(115) = 0.0018052449166878986684;
  weights(116) = 0.0018052449166878986684;
  weights(117) = 0.0032702272653727516676;
  weights(118) = 0.0032702272653727516676;
  weights(119) = 0.0032702272653727516676;
  weights(120) = 0.0032702272653727516676;
  weights(121) = 0.0032702272653727516676;
  weights(122) = 0.0032702272653727516676;
  weights(123) = 0.0020396107401563015604;
  weights(124) = 0.0020396107401563015604;
  weights(125) = 0.0020396107401563015604;
  weights(126) = 0.0020396107401563015604;
  weights(127) = 0.0020396107401563015604;
  weights(128) = 0.0020396107401563015604;
  weights(129) = 0.001162819459052917689;
  weights(130) = 0.001162819459052917689;
  weights(131) = 0.001162819459052917689;
  weights(132) = 0.001162819459052917689;
  weights(133) = 0.001162819459052917689;
  weights(134) = 0.001162819459052917689;
  weights(135) = 0.00050287201104163160425;
  weights(136) = 0.00050287201104163160425;
  weights(137) = 0.00050287201104163160425;
  weights(138) = 0.00050287201104163160425;
  weights(139) = 0.00050287201104163160425;
  weights(140) = 0.00050287201104163160425;
  weights(141) = 0.00057158088570587325342;
  weights(142) = 0.00057158088570587325342;
  weights(143) = 0.00057158088570587325342;
  weights(144) = 0.00057158088570587325342;
  weights(145) = 0.00057158088570587325342;
  weights(146) = 0.00057158088570587325342;
  weights(147) = 0.00059423066125412757951;
  weights(148) = 0.00059423066125412757951;
  weights(149) = 0.00059423066125412757951;
  weights(150) = 0.00059423066125412757951;
  weights(151) = 0.00059423066125412757951;
  weights(152) = 0.00059423066125412757951;
  weights(153) = 0.0014526094726054607307;
  weights(154) = 0.0014526094726054607307;
  weights(155) = 0.0014526094726054607307;
  weights(156) = 0.0014526094726054607307;
  weights(157) = 0.0014526094726054607307;
  weights(158) = 0.0014526094726054607307;
  weights(159) = 0.00085377510195786422004;
  weights(160) = 0.00085377510195786422004;
  weights(161) = 0.00085377510195786422004;
  weights(162) = 0.0044928047594024944286;
  weights(163) = 0.0044928047594024944286;
  weights(164) = 0.0044928047594024944286;
  weights(165) = 0.0031633575987932865438;
  weights(166) = 0.0031633575987932865438;
  weights(167) = 0.0031633575987932865438;
  weights(168) = 0.0031633575987932865438;
  weights(169) = 0.0031633575987932865438;
  weights(170) = 0.0031633575987932865438;
  weights(171) = 0.0039688521375602281091;
  weights(172) = 0.0039688521375602281091;
  weights(173) = 0.0039688521375602281091;
  weights(174) = 0.0013628431103600603669;
  weights(175) = 0.0013628431103600603669;
  weights(176) = 0.0013628431103600603669;
  weights(177) = 0.0013628431103600603669;
  weights(178) = 0.0013628431103600603669;
  weights(179) = 0.0013628431103600603669;
  weights(180) = 0.003874276596333738748;
  weights(181) = 0.003874276596333738748;
  weights(182) = 0.003874276596333738748;
  weights(183) = 0.0015179487772672168189;
  weights(184) = 0.0015179487772672168189;
  weights(185) = 0.0015179487772672168189;
  weights(186) = 0.0022607957999025815772;
  weights(187) = 0.0022607957999025815772;
  weights(188) = 0.0022607957999025815772;
  weights(189) = 0.0022607957999025815772;
  weights(190) = 0.0022607957999025815772;
  weights(191) = 0.0022607957999025815772;
  weights(192) = 0.00064458713871471111801;
  weights(193) = 0.00064458713871471111801;
  weights(194) = 0.00064458713871471111801;
  weights(195) = 0.00064458713871471111801;
  weights(196) = 0.00064458713871471111801;
  weights(197) = 0.00064458713871471111801;
  weights(198) = 0.00040834195908639032936;
  weights(199) = 0.00040834195908639032936;
  weights(200) = 0.00040834195908639032936;
  weights(201) = 0.00040834195908639032936;
  weights(202) = 0.00040834195908639032936;
  weights(203) = 0.00040834195908639032936;
  weights(204) = 0.0034738896617761108772;
  weights(205) = 0.0034738896617761108772;
  weights(206) = 0.0034738896617761108772;
  weights(207) = 0.0034738896617761108772;
  weights(208) = 0.0034738896617761108772;
  weights(209) = 0.0034738896617761108772;
  weights(210) = 0.0035493089697451588906;
  weights(211) = 0.0035493089697451588906;
  weights(212) = 0.0035493089697451588906;
  weights(213) = 0.0035493089697451588906;
  weights(214) = 0.0035493089697451588906;
  weights(215) = 0.0035493089697451588906;
  weights(216) = 0.0038459601742889580958;
  weights(217) = 0.0038459601742889580958;
  weights(218) = 0.0038459601742889580958;
  weights(219) = 0.0038459601742889580958;
  weights(220) = 0.0038459601742889580958;
  weights(221) = 0.0038459601742889580958;
  weights(222) = 0.0014626095093620524509;
  weights(223) = 0.0014626095093620524509;
  weights(224) = 0.0014626095093620524509;
  weights(225) = 0.0014626095093620524509;
  weights(226) = 0.0014626095093620524509;
  weights(227) = 0.0014626095093620524509;
  weights(228) = 0.0049879968051912831895;
  weights(229) = 0.0049879968051912831895;
  weights(230) = 0.0049879968051912831895;
  weights(231) = 0.0030283484982428863358;
  weights(232) = 0.0030283484982428863358;
  weights(233) = 0.0030283484982428863358;
  weights(234) = 0.0030283484982428863358;
  weights(235) = 0.0030283484982428863358;
  weights(236) = 0.0030283484982428863358;
  weights(237) = 0.00016685281655941868145;
  weights(238) = 0.00016685281655941868145;
  weights(239) = 0.00016685281655941868145;
  weights(240) = 0.00016685281655941868145;
  weights(241) = 0.00016685281655941868145;
  weights(242) = 0.00016685281655941868145;
  weights(243) = 0.0022647344604744164276;
  weights(244) = 0.0022647344604744164276;
  weights(245) = 0.0022647344604744164276;
  weights(246) = 0.0022647344604744164276;
  weights(247) = 0.0022647344604744164276;
  weights(248) = 0.0022647344604744164276;
  weights(249) = 0.0042012687071598872612;
  weights(250) = 0.0042012687071598872612;
  weights(251) = 0.0042012687071598872612;
  weights(252) = 0.0042012687071598872612;
  weights(253) = 0.0042012687071598872612;
  weights(254) = 0.0042012687071598872612;
  weights(255) = 0.00090548592620170618647;
  weights(256) = 0.00090548592620170618647;
  weights(257) = 0.00090548592620170618647;
  weights(258) = 0.00090548592620170618647;
  weights(259) = 0.00090548592620170618647;
  weights(260) = 0.00090548592620170618647;
  weights(261) = 0.00014614283159141328201;
  weights(262) = 0.00014614283159141328201;
  weights(263) = 0.00014614283159141328201;
  weights(264) = 0.00014614283159141328201;
  weights(265) = 0.00014614283159141328201;
  weights(266) = 0.00014614283159141328201;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 38);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 39>() { // NOLINT
  Eigen::MatrixXd points(2, 282);
  Eigen::VectorXd weights(282);

  points(0, 0) = 0.23827520858455700226;
  points(1, 0) = 0.004374482438261256996;
  points(0, 1) = 0.75735030897718180753;
  points(1, 1) = 0.23827520858455700226;
  points(0, 2) = 0.0043744824382612734759;
  points(1, 2) = 0.75735030897718191856;
  points(0, 3) = 0.75735030897718180753;
  points(1, 3) = 0.004374482438261256996;
  points(0, 4) = 0.23827520858455708552;
  points(1, 4) = 0.75735030897718180753;
  points(0, 5) = 0.0043744824382610514313;
  points(1, 5) = 0.23827520858455730757;
  points(0, 6) = 0.50229020131491841639;
  points(1, 6) = 0.23143707588900058747;
  points(0, 7) = 0.26627272279608110717;
  points(1, 7) = 0.50229020131491852741;
  points(0, 8) = 0.23143707588900042094;
  points(1, 8) = 0.2662727227960812737;
  points(0, 9) = 0.26627272279608105165;
  points(1, 9) = 0.23143707588900058747;
  points(0, 10) = 0.50229020131491841639;
  points(1, 10) = 0.26627272279608116268;
  points(0, 11) = 0.23143707588900047645;
  points(1, 11) = 0.50229020131491852741;
  points(0, 12) = 0.35068273415715828234;
  points(1, 12) = 0.23609944743651992138;
  points(0, 13) = 0.41321781840632187954;
  points(1, 13) = 0.35068273415715833785;
  points(0, 14) = 0.23609944743651983812;
  points(1, 14) = 0.41321781840632199057;
  points(0, 15) = 0.41321781840632187954;
  points(1, 15) = 0.23609944743651992138;
  points(0, 16) = 0.35068273415715822683;
  points(1, 16) = 0.41321781840632193505;
  points(0, 17) = 0.23609944743651986587;
  points(1, 17) = 0.35068273415715839336;
  points(0, 18) = 0.2778089177192840098;
  points(1, 18) = 0.002662339747891710913;
  points(0, 19) = 0.71952874253282428363;
  points(1, 19) = 0.27780891771928406531;
  points(0, 20) = 0.0026623397478918175985;
  points(1, 20) = 0.71952874253282439465;
  points(0, 21) = 0.71952874253282417261;
  points(1, 21) = 0.002662339747891710913;
  points(0, 22) = 0.2778089177192840098;
  points(1, 22) = 0.71952874253282439465;
  points(0, 23) = 0.0026623397478915122871;
  points(1, 23) = 0.27780891771928434286;
  points(0, 24) = 0.47240948215055666992;
  points(1, 24) = 0.055181035698886667096;
  points(0, 25) = 0.47240948215055661441;
  points(1, 25) = 0.47240948215055678094;
  points(0, 26) = 0.055181035698886604646;
  points(1, 26) = 0.47240948215055689197;
  points(0, 27) = 0.32120348268261678104;
  points(1, 27) = 0.20743961193494550588;
  points(0, 28) = 0.47135690538243768533;
  points(1, 28) = 0.32120348268261683655;
  points(0, 29) = 0.20743961193494547812;
  points(1, 29) = 0.47135690538243779635;
  points(0, 30) = 0.47135690538243768533;
  points(1, 30) = 0.20743961193494550588;
  points(0, 31) = 0.32120348268261678104;
  points(1, 31) = 0.47135690538243774084;
  points(0, 32) = 0.2074396119349453671;
  points(1, 32) = 0.32120348268261700309;
  points(0, 33) = 0.45750796867382426125;
  points(1, 33) = 0.084984062652351477496;
  points(0, 34) = 0.45750796867382426125;
  points(1, 34) = 0.45750796867382431676;
  points(0, 35) = 0.084984062652351421985;
  points(1, 35) = 0.4575079686738244833;
  points(0, 36) = 0.45742421685298206846;
  points(1, 36) = 0.011909152476788649466;
  points(0, 37) = 0.53066663067022934452;
  points(1, 37) = 0.45742421685298212397;
  points(0, 38) = 0.011909152476788531505;
  points(1, 38) = 0.53066663067022956657;
  points(0, 39) = 0.5306666306702292335;
  points(1, 39) = 0.011909152476788649466;
  points(0, 40) = 0.45742421685298212397;
  points(1, 40) = 0.53066663067022934452;
  points(0, 41) = 0.011909152476788559261;
  points(1, 41) = 0.45742421685298234602;
  points(0, 42) = 0.19103834285218460054;
  points(1, 42) = 0.0021569623388998956752;
  points(0, 43) = 0.80680469480891547907;
  points(1, 43) = 0.1910383428521846283;
  points(0, 44) = 0.0021569623388998926394;
  points(1, 44) = 0.80680469480891570111;
  points(0, 45) = 0.80680469480891547907;
  points(1, 45) = 0.0021569623388998956752;
  points(0, 46) = 0.19103834285218473932;
  points(1, 46) = 0.80680469480891547907;
  points(0, 47) = 0.0021569623388997816171;
  points(1, 47) = 0.19103834285218490585;
  points(0, 48) = 0.35384729191688329974;
  points(1, 48) = 0.29230541616623340051;
  points(0, 49) = 0.35384729191688329974;
  points(1, 49) = 0.35384729191688346628;
  points(0, 50) = 0.29230541616623323398;
  points(1, 50) = 0.35384729191688346628;
  points(0, 51) = 0.49910614986029899764;
  points(1, 51) = 0.0017877002794020532828;
  points(0, 52) = 0.49910614986029899764;
  points(1, 52) = 0.49910614986029905316;
  points(0, 53) = 0.0017877002794019769549;
  points(1, 53) = 0.49910614986029916418;
  points(0, 54) = 0.20635194073283630312;
  points(1, 54) = 0.10725749375164583821;
  points(0, 55) = 0.68639056551551791419;
  points(1, 55) = 0.20635194073283630312;
  points(0, 56) = 0.10725749375164583821;
  points(1, 56) = 0.68639056551551802521;
  points(0, 57) = 0.68639056551551780316;
  points(1, 57) = 0.10725749375164583821;
  points(0, 58) = 0.20635194073283635863;
  points(1, 58) = 0.68639056551551802521;
  points(0, 59) = 0.10725749375164564392;
  points(1, 59) = 0.20635194073283652516;
  points(0, 60) = 0.26123838278747191222;
  points(1, 60) = 0.11243839329148254402;
  points(0, 61) = 0.62632322392104544662;
  points(1, 61) = 0.26123838278747196773;
  points(0, 62) = 0.11243839329148253015;
  points(1, 62) = 0.62632322392104566866;
  points(0, 63) = 0.62632322392104555764;
  points(1, 63) = 0.11243839329148254402;
  points(0, 64) = 0.26123838278747196773;
  points(1, 64) = 0.62632322392104555764;
  points(0, 65) = 0.11243839329148233586;
  points(1, 65) = 0.26123838278747218977;
  points(0, 66) = 0.11333165819636531468;
  points(1, 66) = 0.11333165819636557836;
  points(0, 67) = 0.77333668360726914859;
  points(1, 67) = 0.11333165819636532856;
  points(0, 68) = 0.11333165819636564775;
  points(1, 68) = 0.77333668360726914859;
  points(0, 69) = 0.1593888996231203059;
  points(1, 69) = 0.11409032499671968586;
  points(0, 70) = 0.72652077538016002212;
  points(1, 70) = 0.1593888996231203059;
  points(0, 71) = 0.11409032499671972749;
  points(1, 71) = 0.72652077538016013314;
  points(0, 72) = 0.72652077538015991109;
  points(1, 72) = 0.11409032499671968586;
  points(0, 73) = 0.15938889962312041693;
  points(1, 73) = 0.72652077538016013314;
  points(0, 74) = 0.11409032499671949157;
  points(1, 74) = 0.1593888996231205557;
  points(0, 75) = 0.39886951322406688503;
  points(1, 75) = 0.061944841916062462484;
  points(0, 76) = 0.53918564485987074963;
  points(1, 76) = 0.39886951322406694054;
  points(0, 77) = 0.06194484191606242085;
  points(1, 77) = 0.53918564485987086066;
  points(0, 78) = 0.53918564485987074963;
  points(1, 78) = 0.061944841916062462484;
  points(0, 79) = 0.39886951322406688503;
  points(1, 79) = 0.53918564485987074963;
  points(0, 80) = 0.061944841916062365339;
  points(1, 80) = 0.39886951322406705156;
  points(0, 81) = 0.31227257927336088406;
  points(1, 81) = 0.12196288322528461845;
  points(0, 82) = 0.56576453750135446974;
  points(1, 82) = 0.31227257927336088406;
  points(0, 83) = 0.12196288322528459069;
  points(1, 83) = 0.56576453750135469178;
  points(0, 84) = 0.56576453750135458076;
  points(1, 84) = 0.12196288322528461845;
  points(0, 85) = 0.31227257927336082854;
  points(1, 85) = 0.56576453750135469178;
  points(0, 86) = 0.12196288322528445192;
  points(1, 86) = 0.3122725792733611061;
  points(0, 87) = 0.36443626235847637052;
  points(1, 87) = 0.038644796347540248671;
  points(0, 88) = 0.59691894129398337387;
  points(1, 88) = 0.36443626235847642603;
  points(0, 89) = 0.03864479634754025561;
  points(1, 89) = 0.5969189412939834849;
  points(0, 90) = 0.59691894129398337387;
  points(1, 90) = 0.038644796347540248671;
  points(0, 91) = 0.36443626235847637052;
  points(1, 91) = 0.5969189412939834849;
  points(0, 92) = 0.038644796347540116832;
  points(1, 92) = 0.36443626235847664807;
  points(0, 93) = 0.23056483424044316166;
  points(1, 93) = 0.017233971768566561794;
  points(0, 94) = 0.75220119399099028001;
  points(1, 94) = 0.23056483424044318942;
  points(0, 95) = 0.017233971768566613836;
  points(1, 95) = 0.75220119399099039104;
  points(0, 96) = 0.75220119399099028001;
  points(1, 96) = 0.017233971768566561794;
  points(0, 97) = 0.23056483424044321717;
  points(1, 97) = 0.75220119399099039104;
  points(0, 98) = 0.017233971768566364036;
  points(1, 98) = 0.23056483424044343922;
  points(0, 99) = 0.015778704722834310803;
  points(1, 99) = 0.015778704722834626523;
  points(0, 100) = 0.96844259055433101757;
  points(1, 100) = 0.015778704722834303864;
  points(0, 101) = 0.01577870472283476877;
  points(1, 101) = 0.96844259055433112859;
  points(0, 102) = 0.039268283381893961947;
  points(1, 102) = 0.014562370303059206031;
  points(0, 103) = 0.94616934631504678865;
  points(1, 103) = 0.039268283381893968886;
  points(0, 104) = 0.014562370303059457566;
  points(1, 104) = 0.94616934631504678865;
  points(0, 105) = 0.94616934631504678865;
  points(1, 105) = 0.014562370303059206031;
  points(0, 106) = 0.03926828338189419787;
  points(1, 106) = 0.94616934631504678865;
  points(0, 107) = 0.014562370303059020415;
  points(1, 107) = 0.039268283381894350526;
  points(0, 108) = 0.35825773354772272317;
  points(1, 108) = 0.15416110999734949916;
  points(0, 109) = 0.48758115645492783319;
  points(1, 109) = 0.35825773354772277868;
  points(0, 110) = 0.15416110999734941589;
  points(1, 110) = 0.48758115645492799972;
  points(0, 111) = 0.48758115645492783319;
  points(1, 111) = 0.15416110999734949916;
  points(0, 112) = 0.35825773354772272317;
  points(1, 112) = 0.4875811564549278887;
  points(0, 113) = 0.15416110999734933262;
  points(1, 113) = 0.35825773354772294521;
  points(0, 114) = 0.38050788254831252599;
  points(1, 114) = 0.1011401306789488086;
  points(0, 115) = 0.51835198677273874868;
  points(1, 115) = 0.38050788254831258151;
  points(0, 116) = 0.10114013067894878084;
  points(1, 116) = 0.5183519867727388597;
  points(0, 117) = 0.51835198677273874868;
  points(1, 117) = 0.1011401306789488086;
  points(0, 118) = 0.38050788254831252599;
  points(1, 118) = 0.51835198677273874868;
  points(0, 119) = 0.10114013067894872533;
  points(1, 119) = 0.38050788254831269253;
  points(0, 120) = 0.13188657558660893399;
  points(1, 120) = 0.073285816648122198425;
  points(0, 121) = 0.79482760776526883983;
  points(1, 121) = 0.13188657558660893399;
  points(0, 122) = 0.07328581664812222618;
  points(1, 122) = 0.79482760776526906188;
  points(0, 123) = 0.79482760776526883983;
  points(1, 123) = 0.073285816648122198425;
  points(0, 124) = 0.13188657558660893399;
  points(1, 124) = 0.79482760776526906188;
  points(0, 125) = 0.073285816648122004136;
  points(1, 125) = 0.13188657558660921154;
  points(0, 126) = 0.17263025506888601823;
  points(1, 126) = 0.013517463397214617496;
  points(0, 127) = 0.81385228153389932437;
  points(1, 127) = 0.17263025506888599048;
  points(0, 128) = 0.013517463397214712906;
  points(1, 128) = 0.81385228153389954642;
  points(0, 129) = 0.81385228153389932437;
  points(1, 129) = 0.013517463397214617496;
  points(0, 130) = 0.17263025506888607374;
  points(1, 130) = 0.81385228153389954642;
  points(0, 131) = 0.013517463397214421472;
  points(1, 131) = 0.17263025506888632354;
  points(0, 132) = 0.07077563589000857025;
  points(1, 132) = 0.043148646381222177659;
  points(0, 133) = 0.88607571772876925209;
  points(1, 133) = 0.070775635890008556372;
  points(0, 134) = 0.043148646381222344193;
  points(1, 134) = 0.88607571772876925209;
  points(0, 135) = 0.88607571772876925209;
  points(1, 135) = 0.043148646381222177659;
  points(0, 136) = 0.070775635890008681272;
  points(1, 136) = 0.88607571772876925209;
  points(0, 137) = 0.043148646381221948676;
  points(1, 137) = 0.070775635890008917195;
  points(0, 138) = 0.047382473120469920103;
  points(1, 138) = 0.0028483388383531748136;
  points(0, 139) = 0.94976918804117682615;
  points(1, 139) = 0.047382473120469892347;
  points(0, 140) = 0.0028483388383533370103;
  points(1, 140) = 0.9497691880411770482;
  points(0, 141) = 0.94976918804117693718;
  points(1, 141) = 0.0028483388383531748136;
  points(0, 142) = 0.047382473120470003369;
  points(1, 142) = 0.9497691880411770482;
  points(0, 143) = 0.0028483388383528963905;
  points(1, 143) = 0.047382473120470273986;
  points(0, 144) = 0.16400918476660558687;
  points(1, 144) = 0.16400918476660583667;
  points(0, 145) = 0.67198163046678849319;
  points(1, 145) = 0.16400918476660567014;
  points(0, 146) = 0.16400918476660591994;
  points(1, 146) = 0.67198163046678860422;
  points(0, 147) = 0.40847156072913398672;
  points(1, 147) = 0.18305687854173202656;
  points(0, 148) = 0.40847156072913404223;
  points(1, 148) = 0.40847156072913409774;
  points(0, 149) = 0.18305687854173197104;
  points(1, 149) = 0.40847156072913415326;
  points(0, 150) = 0.29719324829574489399;
  points(1, 150) = 0.040397454196981368024;
  points(0, 151) = 0.66240929750727373104;
  points(1, 151) = 0.29719324829574489399;
  points(0, 152) = 0.040397454196981430474;
  points(1, 152) = 0.66240929750727384206;
  points(0, 153) = 0.66240929750727373104;
  points(1, 153) = 0.040397454196981368024;
  points(0, 154) = 0.29719324829574494951;
  points(1, 154) = 0.66240929750727384206;
  points(0, 155) = 0.040397454196981236185;
  points(1, 155) = 0.29719324829574517155;
  points(0, 156) = 0.44376523995359828945;
  points(1, 156) = 0.031002548343527665947;
  points(0, 157) = 0.52523221170287404114;
  points(1, 157) = 0.44376523995359834496;
  points(0, 158) = 0.031002548343527613905;
  points(1, 158) = 0.52523221170287426318;
  points(0, 159) = 0.52523221170287404114;
  points(1, 159) = 0.031002548343527665947;
  points(0, 160) = 0.44376523995359834496;
  points(1, 160) = 0.52523221170287415216;
  points(0, 161) = 0.03100254834352758615;
  points(1, 161) = 0.443765239953598567;
  points(0, 162) = 0.2298548902498229185;
  points(1, 162) = 0.039285463900080710986;
  points(0, 163) = 0.73085964585009632888;
  points(1, 163) = 0.2298548902498229185;
  points(0, 164) = 0.039285463900080752619;
  points(1, 164) = 0.73085964585009655092;
  points(0, 165) = 0.73085964585009632888;
  points(1, 165) = 0.039285463900080710986;
  points(0, 166) = 0.2298548902498229185;
  points(1, 166) = 0.73085964585009655092;
  points(0, 167) = 0.039285463900080516697;
  points(1, 167) = 0.22985489024982322381;
  points(0, 168) = 0.43654165510795661653;
  points(1, 168) = 0.12691668978408682245;
  points(0, 169) = 0.43654165510795661653;
  points(1, 169) = 0.43654165510795667204;
  points(0, 170) = 0.12691668978408673918;
  points(1, 170) = 0.43654165510795678307;
  points(0, 171) = 0.25152542713890713166;
  points(1, 171) = 0.07156413204966768915;
  points(0, 172) = 0.67691044081142515143;
  points(1, 172) = 0.25152542713890713166;
  points(0, 173) = 0.071564132049667605884;
  points(1, 173) = 0.6769104408114254845;
  points(0, 174) = 0.67691044081142526245;
  points(1, 174) = 0.07156413204966768915;
  points(0, 175) = 0.2515254271389072982;
  points(1, 175) = 0.67691044081142515143;
  points(0, 176) = 0.071564132049667578128;
  points(1, 176) = 0.25152542713890740922;
  points(0, 177) = 0.22062879193275247713;
  points(1, 177) = 0.15439459178077466484;
  points(0, 178) = 0.62497661628647283028;
  points(1, 178) = 0.22062879193275253265;
  points(0, 179) = 0.15439459178077463708;
  points(1, 179) = 0.62497661628647305232;
  points(0, 180) = 0.62497661628647283028;
  points(1, 180) = 0.15439459178077466484;
  points(0, 181) = 0.22062879193275247713;
  points(1, 181) = 0.62497661628647305232;
  points(0, 182) = 0.15439459178077447055;
  points(1, 182) = 0.22062879193275272693;
  points(0, 183) = 0.037032651339393582446;
  points(1, 183) = 0.037032651339393853063;
  points(0, 184) = 0.92593469732121258531;
  points(1, 184) = 0.037032651339393533874;
  points(0, 185) = 0.037032651339393929391;
  points(1, 185) = 0.92593469732121280735;
  points(0, 186) = 0.41640318204681775471;
  points(1, 186) = 0.0027734733727750493677;
  points(0, 187) = 0.58082334458040718594;
  points(1, 187) = 0.41640318204681781022;
  points(0, 188) = 0.0027734733727750038312;
  points(1, 188) = 0.58082334458040740799;
  points(0, 189) = 0.58082334458040718594;
  points(1, 189) = 0.0027734733727750493677;
  points(0, 190) = 0.41640318204681775471;
  points(1, 190) = 0.58082334458040729697;
  points(0, 191) = 0.0027734733727749483201;
  points(1, 191) = 0.41640318204681803227;
  points(0, 192) = 0.27803724358402753802;
  points(1, 192) = 0.17184586903524304291;
  points(0, 193) = 0.55011688738072939131;
  points(1, 193) = 0.27803724358402759353;
  points(0, 194) = 0.17184586903524307067;
  points(1, 194) = 0.55011688738072950233;
  points(0, 195) = 0.55011688738072939131;
  points(1, 195) = 0.17184586903524304291;
  points(0, 196) = 0.27803724358402753802;
  points(1, 196) = 0.55011688738072950233;
  points(0, 197) = 0.17184586903524287638;
  points(1, 197) = 0.27803724358402776007;
  points(0, 198) = 0.34207583221450849065;
  points(1, 198) = 0.0032524102580493087673;
  points(0, 199) = 0.65467175752744222184;
  points(1, 199) = 0.34207583221450854616;
  points(0, 200) = 0.0032524102580493430281;
  points(1, 200) = 0.65467175752744233286;
  points(0, 201) = 0.65467175752744222184;
  points(1, 201) = 0.0032524102580493087673;
  points(0, 202) = 0.34207583221450854616;
  points(1, 202) = 0.65467175752744233286;
  points(0, 203) = 0.0032524102580491487391;
  points(1, 203) = 0.34207583221450882371;
  points(0, 204) = 0.21173174956518553413;
  points(1, 204) = 0.21173174956518570067;
  points(0, 205) = 0.57653650086962870969;
  points(1, 205) = 0.2117317495651856174;
  points(0, 206) = 0.21173174956518564516;
  points(1, 206) = 0.57653650086962893173;
  points(0, 207) = 0.37665152274202429172;
  points(1, 207) = 0.01608119947722765064;
  points(0, 208) = 0.60726727778074818254;
  points(1, 208) = 0.37665152274202429172;
  points(0, 209) = 0.016081199477227581252;
  points(1, 209) = 0.60726727778074829356;
  points(0, 210) = 0.60726727778074807151;
  points(1, 210) = 0.01608119947722765064;
  points(0, 211) = 0.37665152274202429172;
  points(1, 211) = 0.60726727778074818254;
  points(0, 212) = 0.01608119947722752574;
  points(1, 212) = 0.37665152274202451377;
  points(0, 213) = 0.11229791674123557055;
  points(1, 213) = 0.043659198704887554332;
  points(0, 214) = 0.84404288455387677104;
  points(1, 214) = 0.11229791674123557055;
  points(0, 215) = 0.043659198704887658415;
  points(1, 215) = 0.84404288455387699308;
  points(0, 216) = 0.84404288455387688206;
  points(1, 216) = 0.043659198704887554332;
  points(0, 217) = 0.11229791674123568157;
  points(1, 217) = 0.84404288455387699308;
  points(0, 218) = 0.043659198704887276776;
  points(1, 218) = 0.11229791674123588974;
  points(0, 219) = 0.18614115584177370888;
  points(1, 219) = 0.068295692361052789954;
  points(0, 220) = 0.74556315179717347341;
  points(1, 220) = 0.18614115584177373663;
  points(0, 221) = 0.06829569236105287322;
  points(1, 221) = 0.74556315179717358443;
  points(0, 222) = 0.74556315179717358443;
  points(1, 222) = 0.068295692361052789954;
  points(0, 223) = 0.1861411558417738199;
  points(1, 223) = 0.74556315179717347341;
  points(0, 224) = 0.068295692361052595665;
  points(1, 224) = 0.18614115584177404195;
  points(0, 225) = 0.32170339827518712461;
  points(1, 225) = 0.074722503110879828769;
  points(0, 226) = 0.60357409861393307438;
  points(1, 226) = 0.32170339827518718012;
  points(0, 227) = 0.074722503110879745503;
  points(1, 227) = 0.60357409861393329642;
  points(0, 228) = 0.60357409861393307438;
  points(1, 228) = 0.074722503110879828769;
  points(0, 229) = 0.32170339827518723563;
  points(1, 229) = 0.60357409861393307438;
  points(0, 230) = 0.074722503110879662236;
  points(1, 230) = 0.32170339827518740217;
  points(0, 231) = 0.16601268517886674791;
  points(1, 231) = 0.036155374364333942028;
  points(0, 232) = 0.7978319404567992823;
  points(1, 232) = 0.16601268517886674791;
  points(0, 233) = 0.036155374364334025294;
  points(1, 233) = 0.79783194045679950435;
  points(0, 234) = 0.79783194045679939332;
  points(1, 234) = 0.036155374364333942028;
  points(0, 235) = 0.16601268517886680343;
  points(1, 235) = 0.79783194045679950435;
  points(0, 236) = 0.036155374364333692228;
  points(1, 236) = 0.16601268517886702547;
  points(0, 237) = 0.019357695235428476477;
  points(1, 237) = 0.0028330906992411765931;
  points(0, 238) = 0.97780921406533038986;
  points(1, 238) = 0.019357695235428479946;
  points(0, 239) = 0.0028330906992413695811;
  points(1, 239) = 0.97780921406533038986;
  points(0, 240) = 0.97780921406533038986;
  points(1, 240) = 0.0028330906992411765931;
  points(0, 241) = 0.019357695235428573621;
  points(1, 241) = 0.97780921406533061191;
  points(0, 242) = 0.0028330906992408942668;
  points(1, 242) = 0.019357695235428802605;
  points(0, 243) = 0.071990409225125409631;
  points(1, 243) = 0.017949883530718774294;
  points(0, 244) = 0.91005970724415585771;
  points(1, 244) = 0.071990409225125395754;
  points(0, 245) = 0.017949883530718857561;
  points(1, 245) = 0.91005970724415596873;
  points(0, 246) = 0.91005970724415574669;
  points(1, 246) = 0.017949883530718774294;
  points(0, 247) = 0.071990409225125506776;
  points(1, 247) = 0.91005970724415596873;
  points(0, 248) = 0.017949883530718489799;
  points(1, 248) = 0.071990409225125742698;
  points(0, 249) = 0.2869572884590685935;
  points(1, 249) = 0.28695728845906876003;
  points(0, 250) = 0.42608542308186259095;
  points(1, 250) = 0.28695728845906870452;
  points(0, 251) = 0.28695728845906876003;
  points(1, 251) = 0.42608542308186270198;
  points(0, 252) = 0.1333327168798978668;
  points(1, 252) = 0.0031925398705718063645;
  points(0, 253) = 0.86347474324953021885;
  points(1, 253) = 0.13333271687989783905;
  points(0, 254) = 0.0031925398705718310843;
  points(1, 254) = 0.86347474324953055191;
  points(0, 255) = 0.86347474324953032987;
  points(1, 255) = 0.0031925398705718063645;
  points(0, 256) = 0.13333271687989783905;
  points(1, 256) = 0.86347474324953055191;
  points(0, 257) = 0.0031925398705715674064;
  points(1, 257) = 0.13333271687989819987;
  points(0, 258) = 0.29944552917299388506;
  points(1, 258) = 0.016292457419014732406;
  points(0, 259) = 0.6842620134079914207;
  points(1, 259) = 0.29944552917299388506;
  points(0, 260) = 0.016292457419014805264;
  points(1, 260) = 0.68426201340799153172;
  points(0, 261) = 0.6842620134079914207;
  points(1, 261) = 0.016292457419014732406;
  points(0, 262) = 0.29944552917299382955;
  points(1, 262) = 0.68426201340799153172;
  points(0, 263) = 0.01629245741901458322;
  points(1, 263) = 0.29944552917299416261;
  points(0, 264) = 0.11710788518915329903;
  points(1, 264) = 0.017915399181348719282;
  points(0, 265) = 0.86497671562949784985;
  points(1, 265) = 0.11710788518915329903;
  points(0, 266) = 0.017915399181348823365;
  points(1, 266) = 0.86497671562949807189;
  points(0, 267) = 0.86497671562949796087;
  points(1, 267) = 0.017915399181348719282;
  points(0, 268) = 0.1171078851891533823;
  points(1, 268) = 0.86497671562949807189;
  points(0, 269) = 0.01791539918134848336;
  points(1, 269) = 0.11710788518915361822;
  points(0, 270) = 0.08067658288294249358;
  points(1, 270) = 0.080676582882942785013;
  points(0, 271) = 0.83864683423411467977;
  points(1, 271) = 0.080676582882942465824;
  points(0, 272) = 0.080676582882942882158;
  points(1, 272) = 0.83864683423411490182;
  points(0, 273) = 0.085367601656265459931;
  points(1, 273) = 0.0035672493041341763777;
  points(0, 274) = 0.91106514903960034157;
  points(1, 274) = 0.085367601656265432175;
  points(0, 275) = 0.0035672493041343233955;
  points(1, 275) = 0.9110651490396004526;
  points(0, 276) = 0.9110651490396004526;
  points(1, 276) = 0.0035672493041341763777;
  points(0, 277) = 0.085367601656265557075;
  points(1, 277) = 0.9110651490396004526;
  points(0, 278) = 0.0035672493041339209396;
  points(1, 278) = 0.085367601656265806875;
  points(0, 279) = 0.003643219920729888657;
  points(1, 279) = 0.0036432199207301805242;
  points(0, 280) = 0.99271356015853984278;
  points(1, 280) = 0.0036432199207298600341;
  points(0, 281) = 0.0036432199207303006538;
  points(1, 281) = 0.99271356015854006483;

  weights(0) = 0.00039120151641978192104;
  weights(1) = 0.00039120151641978192104;
  weights(2) = 0.00039120151641978192104;
  weights(3) = 0.00039120151641978192104;
  weights(4) = 0.00039120151641978192104;
  weights(5) = 0.00039120151641978192104;
  weights(6) = 0.002712962939476228335;
  weights(7) = 0.002712962939476228335;
  weights(8) = 0.002712962939476228335;
  weights(9) = 0.002712962939476228335;
  weights(10) = 0.002712962939476228335;
  weights(11) = 0.002712962939476228335;
  weights(12) = 0.0032167824916104555306;
  weights(13) = 0.0032167824916104555306;
  weights(14) = 0.0032167824916104555306;
  weights(15) = 0.0032167824916104555306;
  weights(16) = 0.0032167824916104555306;
  weights(17) = 0.0032167824916104555306;
  weights(18) = 0.00038225531881583475367;
  weights(19) = 0.00038225531881583475367;
  weights(20) = 0.00038225531881583475367;
  weights(21) = 0.00038225531881583475367;
  weights(22) = 0.00038225531881583475367;
  weights(23) = 0.00038225531881583475367;
  weights(24) = 0.0019002364888003285808;
  weights(25) = 0.0019002364888003285808;
  weights(26) = 0.0019002364888003285808;
  weights(27) = 0.0031297443405131917041;
  weights(28) = 0.0031297443405131917041;
  weights(29) = 0.0031297443405131917041;
  weights(30) = 0.0031297443405131917041;
  weights(31) = 0.0031297443405131917041;
  weights(32) = 0.0031297443405131917041;
  weights(33) = 0.0024045178700843020288;
  weights(34) = 0.0024045178700843020288;
  weights(35) = 0.0024045178700843020288;
  weights(36) = 0.0010810437034472729356;
  weights(37) = 0.0010810437034472729356;
  weights(38) = 0.0010810437034472729356;
  weights(39) = 0.0010810437034472729356;
  weights(40) = 0.0010810437034472729356;
  weights(41) = 0.0010810437034472729356;
  weights(42) = 0.00034542698916113984738;
  weights(43) = 0.00034542698916113984738;
  weights(44) = 0.00034542698916113984738;
  weights(45) = 0.00034542698916113984738;
  weights(46) = 0.00034542698916113984738;
  weights(47) = 0.00034542698916113984738;
  weights(48) = 0.0040394972726736696339;
  weights(49) = 0.0040394972726736696339;
  weights(50) = 0.0040394972726736696339;
  weights(51) = 0.00041923834091458502763;
  weights(52) = 0.00041923834091458502763;
  weights(53) = 0.00041923834091458502763;
  weights(54) = 0.0021905480428541070428;
  weights(55) = 0.0021905480428541070428;
  weights(56) = 0.0021905480428541070428;
  weights(57) = 0.0021905480428541070428;
  weights(58) = 0.0021905480428541070428;
  weights(59) = 0.0021905480428541070428;
  weights(60) = 0.0024488695353957600637;
  weights(61) = 0.0024488695353957600637;
  weights(62) = 0.0024488695353957600637;
  weights(63) = 0.0024488695353957600637;
  weights(64) = 0.0024488695353957600637;
  weights(65) = 0.0024488695353957600637;
  weights(66) = 0.0018544678106880900601;
  weights(67) = 0.0018544678106880900601;
  weights(68) = 0.0018544678106880900601;
  weights(69) = 0.0022154948254470264134;
  weights(70) = 0.0022154948254470264134;
  weights(71) = 0.0022154948254470264134;
  weights(72) = 0.0022154948254470264134;
  weights(73) = 0.0022154948254470264134;
  weights(74) = 0.0022154948254470264134;
  weights(75) = 0.0023499392143139703239;
  weights(76) = 0.0023499392143139703239;
  weights(77) = 0.0023499392143139703239;
  weights(78) = 0.0023499392143139703239;
  weights(79) = 0.0023499392143139703239;
  weights(80) = 0.0023499392143139703239;
  weights(81) = 0.0028474735794834348662;
  weights(82) = 0.0028474735794834348662;
  weights(83) = 0.0028474735794834348662;
  weights(84) = 0.0028474735794834348662;
  weights(85) = 0.0028474735794834348662;
  weights(86) = 0.0028474735794834348662;
  weights(87) = 0.0018616149943744121718;
  weights(88) = 0.0018616149943744121718;
  weights(89) = 0.0018616149943744121718;
  weights(90) = 0.0018616149943744121718;
  weights(91) = 0.0018616149943744121718;
  weights(92) = 0.0018616149943744121718;
  weights(93) = 0.0011355533110131220235;
  weights(94) = 0.0011355533110131220235;
  weights(95) = 0.0011355533110131220235;
  weights(96) = 0.0011355533110131220235;
  weights(97) = 0.0011355533110131220235;
  weights(98) = 0.0011355533110131220235;
  weights(99) = 0.00033430345584467368149;
  weights(100) = 0.00033430345584467368149;
  weights(101) = 0.00033430345584467368149;
  weights(102) = 0.00047509282757391893678;
  weights(103) = 0.00047509282757391893678;
  weights(104) = 0.00047509282757391893678;
  weights(105) = 0.00047509282757391893678;
  weights(106) = 0.00047509282757391893678;
  weights(107) = 0.00047509282757391893678;
  weights(108) = 0.0037165503152852734717;
  weights(109) = 0.0037165503152852734717;
  weights(110) = 0.0037165503152852734717;
  weights(111) = 0.0037165503152852734717;
  weights(112) = 0.0037165503152852734717;
  weights(113) = 0.0037165503152852734717;
  weights(114) = 0.0030932152668709396968;
  weights(115) = 0.0030932152668709396968;
  weights(116) = 0.0030932152668709396968;
  weights(117) = 0.0030932152668709396968;
  weights(118) = 0.0030932152668709396968;
  weights(119) = 0.0030932152668709396968;
  weights(120) = 0.0019187111408719256973;
  weights(121) = 0.0019187111408719256973;
  weights(122) = 0.0019187111408719256973;
  weights(123) = 0.0019187111408719256973;
  weights(124) = 0.0019187111408719256973;
  weights(125) = 0.0019187111408719256973;
  weights(126) = 0.00094793648287653652518;
  weights(127) = 0.00094793648287653652518;
  weights(128) = 0.00094793648287653652518;
  weights(129) = 0.00094793648287653652518;
  weights(130) = 0.00094793648287653652518;
  weights(131) = 0.00094793648287653652518;
  weights(132) = 0.0011579385843161762396;
  weights(133) = 0.0011579385843161762396;
  weights(134) = 0.0011579385843161762396;
  weights(135) = 0.0011579385843161762396;
  weights(136) = 0.0011579385843161762396;
  weights(137) = 0.0011579385843161762396;
  weights(138) = 0.0002441353811018984177;
  weights(139) = 0.0002441353811018984177;
  weights(140) = 0.0002441353811018984177;
  weights(141) = 0.0002441353811018984177;
  weights(142) = 0.0002441353811018984177;
  weights(143) = 0.0002441353811018984177;
  weights(144) = 0.0029017689598017796029;
  weights(145) = 0.0029017689598017796029;
  weights(146) = 0.0029017689598017796029;
  weights(147) = 0.0038496033161381348203;
  weights(148) = 0.0038496033161381348203;
  weights(149) = 0.0038496033161381348203;
  weights(150) = 0.0019666235037674464035;
  weights(151) = 0.0019666235037674464035;
  weights(152) = 0.0019666235037674464035;
  weights(153) = 0.0019666235037674464035;
  weights(154) = 0.0019666235037674464035;
  weights(155) = 0.0019666235037674464035;
  weights(156) = 0.0018684915937171393732;
  weights(157) = 0.0018684915937171393732;
  weights(158) = 0.0018684915937171393732;
  weights(159) = 0.0018684915937171393732;
  weights(160) = 0.0018684915937171393732;
  weights(161) = 0.0018684915937171393732;
  weights(162) = 0.0017653134351677795405;
  weights(163) = 0.0017653134351677795405;
  weights(164) = 0.0017653134351677795405;
  weights(165) = 0.0017653134351677795405;
  weights(166) = 0.0017653134351677795405;
  weights(167) = 0.0017653134351677795405;
  weights(168) = 0.003388251609042753406;
  weights(169) = 0.003388251609042753406;
  weights(170) = 0.003388251609042753406;
  weights(171) = 0.0024366507453069496773;
  weights(172) = 0.0024366507453069496773;
  weights(173) = 0.0024366507453069496773;
  weights(174) = 0.0024366507453069496773;
  weights(175) = 0.0024366507453069496773;
  weights(176) = 0.0024366507453069496773;
  weights(177) = 0.0030348462109630333985;
  weights(178) = 0.0030348462109630333985;
  weights(179) = 0.0030348462109630333985;
  weights(180) = 0.0030348462109630333985;
  weights(181) = 0.0030348462109630333985;
  weights(182) = 0.0030348462109630333985;
  weights(183) = 0.00079602481603462788527;
  weights(184) = 0.00079602481603462788527;
  weights(185) = 0.00079602481603462788527;
  weights(186) = 0.0005508817903754198702;
  weights(187) = 0.0005508817903754198702;
  weights(188) = 0.0005508817903754198702;
  weights(189) = 0.0005508817903754198702;
  weights(190) = 0.0005508817903754198702;
  weights(191) = 0.0005508817903754198702;
  weights(192) = 0.0036545914077611486338;
  weights(193) = 0.0036545914077611486338;
  weights(194) = 0.0036545914077611486338;
  weights(195) = 0.0036545914077611486338;
  weights(196) = 0.0036545914077611486338;
  weights(197) = 0.0036545914077611486338;
  weights(198) = 0.00058680976386950246728;
  weights(199) = 0.00058680976386950246728;
  weights(200) = 0.00058680976386950246728;
  weights(201) = 0.00058680976386950246728;
  weights(202) = 0.00058680976386950246728;
  weights(203) = 0.00058680976386950246728;
  weights(204) = 0.0035627819170746337883;
  weights(205) = 0.0035627819170746337883;
  weights(206) = 0.0035627819170746337883;
  weights(207) = 0.0014138732102051028428;
  weights(208) = 0.0014138732102051028428;
  weights(209) = 0.0014138732102051028428;
  weights(210) = 0.0014138732102051028428;
  weights(211) = 0.0014138732102051028428;
  weights(212) = 0.0014138732102051028428;
  weights(213) = 0.0014059097790314568563;
  weights(214) = 0.0014059097790314568563;
  weights(215) = 0.0014059097790314568563;
  weights(216) = 0.0014059097790314568563;
  weights(217) = 0.0014059097790314568563;
  weights(218) = 0.0014059097790314568563;
  weights(219) = 0.0021888108864421993924;
  weights(220) = 0.0021888108864421993924;
  weights(221) = 0.0021888108864421993924;
  weights(222) = 0.0021888108864421993924;
  weights(223) = 0.0021888108864421993924;
  weights(224) = 0.0021888108864421993924;
  weights(225) = 0.0028898925874844636624;
  weights(226) = 0.0028898925874844636624;
  weights(227) = 0.0028898925874844636624;
  weights(228) = 0.0028898925874844636624;
  weights(229) = 0.0028898925874844636624;
  weights(230) = 0.0028898925874844636624;
  weights(231) = 0.001660844157516541339;
  weights(232) = 0.001660844157516541339;
  weights(233) = 0.001660844157516541339;
  weights(234) = 0.001660844157516541339;
  weights(235) = 0.001660844157516541339;
  weights(236) = 0.001660844157516541339;
  weights(237) = 0.00016171071928836660224;
  weights(238) = 0.00016171071928836660224;
  weights(239) = 0.00016171071928836660224;
  weights(240) = 0.00016171071928836660224;
  weights(241) = 0.00016171071928836660224;
  weights(242) = 0.00016171071928836660224;
  weights(243) = 0.00077997925587945670951;
  weights(244) = 0.00077997925587945670951;
  weights(245) = 0.00077997925587945670951;
  weights(246) = 0.00077997925587945670951;
  weights(247) = 0.00077997925587945670951;
  weights(248) = 0.00077997925587945670951;
  weights(249) = 0.0043643642549053788399;
  weights(250) = 0.0043643642549053788399;
  weights(251) = 0.0043643642549053788399;
  weights(252) = 0.00043422982865084158114;
  weights(253) = 0.00043422982865084158114;
  weights(254) = 0.00043422982865084158114;
  weights(255) = 0.00043422982865084158114;
  weights(256) = 0.00043422982865084158114;
  weights(257) = 0.00043422982865084158114;
  weights(258) = 0.0013758391282982628673;
  weights(259) = 0.0013758391282982628673;
  weights(260) = 0.0013758391282982628673;
  weights(261) = 0.0013758391282982628673;
  weights(262) = 0.0013758391282982628673;
  weights(263) = 0.0013758391282982628673;
  weights(264) = 0.0010252931221566240465;
  weights(265) = 0.0010252931221566240465;
  weights(266) = 0.0010252931221566240465;
  weights(267) = 0.0010252931221566240465;
  weights(268) = 0.0010252931221566240465;
  weights(269) = 0.0010252931221566240465;
  weights(270) = 0.0018538426840326511277;
  weights(271) = 0.0018538426840326511277;
  weights(272) = 0.0018538426840326511277;
  weights(273) = 0.00039207506282301656702;
  weights(274) = 0.00039207506282301656702;
  weights(275) = 0.00039207506282301656702;
  weights(276) = 0.00039207506282301656702;
  weights(277) = 0.00039207506282301656702;
  weights(278) = 0.00039207506282301656702;
  weights(279) = 8.7453890776666924189e-05;
  weights(280) = 8.7453890776666924189e-05;
  weights(281) = 8.7453890776666924189e-05;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 39);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 40>() { // NOLINT
  Eigen::MatrixXd points(2, 295);
  Eigen::VectorXd weights(295);

  points(0, 0) = 0.16717783835571045636;
  points(1, 0) = 0.0015279490490132416163;
  points(0, 1) = 0.83129421259527624954;
  points(1, 1) = 0.16717783835571048412;
  points(0, 2) = 0.0015279490490133218472;
  points(1, 2) = 0.83129421259527647159;
  points(0, 3) = 0.83129421259527636057;
  points(1, 3) = 0.0015279490490132416163;
  points(0, 4) = 0.16717783835571053963;
  points(1, 4) = 0.83129421259527647159;
  points(0, 5) = 0.0015279490490130304137;
  points(1, 5) = 0.16717783835571078943;
  points(0, 6) = 0.37147809944523746406;
  points(1, 6) = 0.014971822472141084123;
  points(0, 7) = 0.61355007808262151947;
  points(1, 7) = 0.37147809944523746406;
  points(0, 8) = 0.01497182247214107198;
  points(1, 8) = 0.61355007808262163049;
  points(0, 9) = 0.61355007808262140845;
  points(1, 9) = 0.014971822472141084123;
  points(0, 10) = 0.37147809944523746406;
  points(1, 10) = 0.61355007808262151947;
  points(0, 11) = 0.014971822472140988713;
  points(1, 11) = 0.37147809944523774162;
  points(0, 12) = 0.15902388471237363654;
  points(1, 12) = 0.0068042587991277809698;
  points(0, 13) = 0.83417185648849856427;
  points(1, 13) = 0.15902388471237360879;
  points(0, 14) = 0.0068042587991278824511;
  points(1, 14) = 0.8341718564884986753;
  points(0, 15) = 0.83417185648849856427;
  points(1, 15) = 0.0068042587991277809698;
  points(0, 16) = 0.15902388471237377532;
  points(1, 16) = 0.8341718564884986753;
  points(0, 17) = 0.0068042587991275771397;
  points(1, 17) = 0.15902388471237388634;
  points(0, 18) = 0.046217932928266536319;
  points(1, 18) = 0.035313974701554610991;
  points(0, 19) = 0.91846809237017879024;
  points(1, 19) = 0.046217932928266522441;
  points(0, 20) = 0.035313974701554728952;
  points(1, 20) = 0.91846809237017901228;
  points(0, 21) = 0.91846809237017890126;
  points(1, 21) = 0.035313974701554610991;
  points(0, 22) = 0.046217932928266536319;
  points(1, 22) = 0.91846809237017901228;
  points(0, 23) = 0.035313974701554423641;
  points(1, 23) = 0.046217932928266876325;
  points(0, 24) = 0.11486516738008065164;
  points(1, 24) = 0.0015839864476046563654;
  points(0, 25) = 0.88355084617231460786;
  points(1, 25) = 0.11486516738008061;
  points(0, 26) = 0.0015839864476048792774;
  points(1, 26) = 0.88355084617231471888;
  points(0, 27) = 0.88355084617231471888;
  points(1, 27) = 0.0015839864476046563654;
  points(0, 28) = 0.11486516738008079042;
  points(1, 28) = 0.88355084617231471888;
  points(0, 29) = 0.0015839864476044560049;
  points(1, 29) = 0.11486516738008097083;
  points(0, 30) = 0.3342460081847144493;
  points(1, 30) = 0.021516672084481811011;
  points(0, 31) = 0.64423731973080378133;
  points(1, 31) = 0.33424600818471450481;
  points(0, 32) = 0.021516672084481824889;
  points(1, 32) = 0.64423731973080389235;
  points(0, 33) = 0.64423731973080378133;
  points(1, 33) = 0.021516672084481811011;
  points(0, 34) = 0.3342460081847144493;
  points(1, 34) = 0.64423731973080389235;
  points(0, 35) = 0.021516672084481713867;
  points(1, 35) = 0.33424600818471472685;
  points(0, 36) = 0.07237116494839002101;
  points(1, 36) = 0.0020252616925631201222;
  points(0, 37) = 0.9256035733590468606;
  points(1, 37) = 0.07237116494839002101;
  points(0, 38) = 0.0020252616925632294098;
  points(1, 38) = 0.92560357335904697162;
  points(0, 39) = 0.9256035733590468606;
  points(1, 39) = 0.0020252616925631201222;
  points(0, 40) = 0.072371164948390076521;
  points(1, 40) = 0.92560357335904697162;
  points(0, 41) = 0.0020252616925628477706;
  points(1, 41) = 0.072371164948390340199;
  points(0, 42) = 0.22368424666478869955;
  points(1, 42) = 0.015361203749086867545;
  points(0, 43) = 0.76095454958612440688;
  points(1, 43) = 0.22368424666478872731;
  points(0, 44) = 0.015361203749086893566;
  points(1, 44) = 0.76095454958612462892;
  points(0, 45) = 0.76095454958612440688;
  points(1, 45) = 0.015361203749086867545;
  points(0, 46) = 0.22368424666478875507;
  points(1, 46) = 0.76095454958612462892;
  points(0, 47) = 0.015361203749086685399;
  points(1, 47) = 0.22368424666478900487;
  points(0, 48) = 0.11112901699058494454;
  points(1, 48) = 0.01016594394791498282;
  points(0, 49) = 0.87870503906149999285;
  points(1, 49) = 0.11112901699058491678;
  points(0, 50) = 0.010165943947915090373;
  points(1, 50) = 0.87870503906150021489;
  points(0, 51) = 0.87870503906150010387;
  points(1, 51) = 0.01016594394791498282;
  points(0, 52) = 0.11112901699058497229;
  points(1, 52) = 0.87870503906150032591;
  points(0, 53) = 0.010165943947914715673;
  points(1, 53) = 0.1111290169905852776;
  points(0, 54) = 0.27644454180779087782;
  points(1, 54) = 0.030013853783829272381;
  points(0, 55) = 0.69354160440837986368;
  points(1, 55) = 0.27644454180779093333;
  points(0, 56) = 0.030013853783829258504;
  points(1, 56) = 0.69354160440838008572;
  points(0, 57) = 0.69354160440837986368;
  points(1, 57) = 0.030013853783829272381;
  points(0, 58) = 0.27644454180779082231;
  points(1, 58) = 0.69354160440838008572;
  points(0, 59) = 0.030013853783829064215;
  points(1, 59) = 0.27644454180779115537;
  points(0, 60) = 0.16926335546567577994;
  points(1, 60) = 0.018970042640021562985;
  points(0, 61) = 0.81176660189430271952;
  points(1, 61) = 0.16926335546567575219;
  points(0, 62) = 0.018970042640021667069;
  points(1, 62) = 0.81176660189430283054;
  points(0, 63) = 0.8117666018943026085;
  points(1, 63) = 0.018970042640021562985;
  points(0, 64) = 0.16926335546567583545;
  points(1, 64) = 0.81176660189430283054;
  points(0, 65) = 0.018970042640021306246;
  points(1, 65) = 0.16926335546567611301;
  points(0, 66) = 0.1196509552487583089;
  points(1, 66) = 0.026740784222126966208;
  points(0, 67) = 0.85360826052911464856;
  points(1, 67) = 0.11965095524875832278;
  points(0, 68) = 0.026740784222127111924;
  points(1, 68) = 0.85360826052911475958;
  points(0, 69) = 0.85360826052911464856;
  points(1, 69) = 0.026740784222126966208;
  points(0, 70) = 0.11965095524875835054;
  points(1, 70) = 0.85360826052911487061;
  points(0, 71) = 0.026740784222126744163;
  points(1, 71) = 0.11965095524875864197;
  points(0, 72) = 0.28301909712926864859;
  points(1, 72) = 0.00085381869353752233662;
  points(0, 73) = 0.716127084177193729;
  points(1, 73) = 0.2830190971292687041;
  points(0, 74) = 0.00085381869353756689733;
  points(1, 74) = 0.71612708417719395104;
  points(0, 75) = 0.71612708417719384002;
  points(1, 75) = 0.00085381869353752233662;
  points(0, 76) = 0.2830190971292687041;
  points(1, 76) = 0.71612708417719395104;
  points(0, 77) = 0.00085381869353740036388;
  points(1, 77) = 0.28301909712926898166;
  points(0, 78) = 0.070404550151146771952;
  points(1, 78) = 0.012258470043981735398;
  points(0, 79) = 0.91733697980487149959;
  points(1, 79) = 0.070404550151146758075;
  points(0, 80) = 0.01225847004398178397;
  points(1, 80) = 0.91733697980487172163;
  points(0, 81) = 0.91733697980487149959;
  points(1, 81) = 0.012258470043981735398;
  points(0, 82) = 0.070404550151146827464;
  points(1, 82) = 0.91733697980487172163;
  points(0, 83) = 0.012258470043981457842;
  points(1, 83) = 0.070404550151147091142;
  points(0, 84) = 0.21647209875141210089;
  points(1, 84) = 0.037170047113497015068;
  points(0, 85) = 0.74635785413509081465;
  points(1, 85) = 0.21647209875141212865;
  points(0, 86) = 0.037170047113497084457;
  points(1, 86) = 0.7463578541350910367;
  points(0, 87) = 0.74635785413509092567;
  points(1, 87) = 0.037170047113497015068;
  points(0, 88) = 0.2164720987514121564;
  points(1, 88) = 0.7463578541350910367;
  points(0, 89) = 0.037170047113496848534;
  points(1, 89) = 0.2164720987514124062;
  points(0, 90) = 0.076926881563259053021;
  points(1, 90) = 0.032194200663470451396;
  points(0, 91) = 0.89087891777327044007;
  points(1, 91) = 0.076926881563259053021;
  points(0, 92) = 0.032194200663470562418;
  points(1, 92) = 0.89087891777327055109;
  points(0, 93) = 0.89087891777327055109;
  points(1, 93) = 0.032194200663470451396;
  points(0, 94) = 0.076926881563259053021;
  points(1, 94) = 0.89087891777327066212;
  points(0, 95) = 0.032194200663470264046;
  points(1, 95) = 0.07692688156325937221;
  points(0, 96) = 0.429222732038551269;
  points(1, 96) = 0.008932152711315441071;
  points(0, 97) = 0.56184511525013336453;
  points(1, 97) = 0.42922273203855132451;
  points(0, 98) = 0.0089321527113153664779;
  points(1, 98) = 0.56184511525013358657;
  points(0, 99) = 0.5618451152501332535;
  points(1, 99) = 0.008932152711315441071;
  points(0, 100) = 0.42922273203855132451;
  points(1, 100) = 0.56184511525013336453;
  points(0, 101) = 0.0089321527113153387223;
  points(1, 101) = 0.42922273203855149104;
  points(0, 102) = 0.015703745363793021605;
  points(1, 102) = 0.015703745363793302631;
  points(0, 103) = 0.96859250927241369311;
  points(1, 103) = 0.015703745363792983442;
  points(0, 104) = 0.015703745363793486511;
  points(1, 104) = 0.96859250927241369311;
  points(0, 105) = 0.29388996289744306889;
  points(1, 105) = 0.2938899628974431244;
  points(0, 106) = 0.4122200742051137512;
  points(1, 106) = 0.2938899628974431244;
  points(0, 107) = 0.29388996289744306889;
  points(1, 107) = 0.41222007420511391773;
  points(0, 108) = 0.37010286842374162664;
  points(1, 108) = 0.25979426315251674673;
  points(0, 109) = 0.37010286842374162664;
  points(1, 109) = 0.37010286842374173766;
  points(0, 110) = 0.25979426315251663571;
  points(1, 110) = 0.37010286842374179317;
  points(0, 111) = 0.32514792488520483094;
  points(1, 111) = 0.22404521522749973328;
  points(0, 112) = 0.45080685988729540803;
  points(1, 112) = 0.32514792488520494196;
  points(0, 113) = 0.22404521522749967777;
  points(1, 113) = 0.45080685988729557456;
  points(0, 114) = 0.45080685988729546354;
  points(1, 114) = 0.22404521522749973328;
  points(0, 115) = 0.32514792488520483094;
  points(1, 115) = 0.45080685988729557456;
  points(0, 116) = 0.22404521522749962226;
  points(1, 116) = 0.32514792488520499747;
  points(0, 117) = 0.27827271028693634225;
  points(1, 117) = 0.18762621699067566494;
  points(0, 118) = 0.5341010727223879373;
  points(1, 118) = 0.27827271028693639776;
  points(0, 119) = 0.18762621699067560943;
  points(1, 119) = 0.53410107272238815934;
  points(0, 120) = 0.5341010727223879373;
  points(1, 120) = 0.18762621699067566494;
  points(0, 121) = 0.27827271028693628674;
  points(1, 121) = 0.53410107272238815934;
  points(0, 122) = 0.1876262169906754429;
  points(1, 122) = 0.27827271028693656429;
  points(0, 123) = 0.28521025351871004405;
  points(1, 123) = 0.0097585213238681137865;
  points(0, 124) = 0.70503122515742189247;
  points(1, 124) = 0.28521025351871004405;
  points(0, 125) = 0.0097585213238681745018;
  points(1, 125) = 0.70503122515742200349;
  points(0, 126) = 0.70503122515742189247;
  points(1, 126) = 0.0097585213238681137865;
  points(0, 127) = 0.28521025351870998854;
  points(1, 127) = 0.70503122515742200349;
  points(0, 128) = 0.0097585213238679524572;
  points(1, 128) = 0.28521025351871032161;
  points(0, 129) = 0.2727256318298310056;
  points(1, 129) = 0.058706290621673602736;
  points(0, 130) = 0.66856807754849545411;
  points(1, 130) = 0.27272563182983106111;
  points(0, 131) = 0.058706290621673595798;
  points(1, 131) = 0.66856807754849556513;
  points(0, 132) = 0.66856807754849534309;
  points(1, 132) = 0.058706290621673602736;
  points(0, 133) = 0.27272563182983106111;
  points(1, 133) = 0.66856807754849556513;
  points(0, 134) = 0.05870629062167345702;
  points(1, 134) = 0.27272563182983128316;
  points(0, 135) = 0.4154695947712394033;
  points(1, 135) = 0.030741999686160263044;
  points(0, 136) = 0.55378840554260033713;
  points(1, 136) = 0.41546959477123951432;
  points(0, 137) = 0.030741999686160259575;
  points(1, 137) = 0.55378840554260044815;
  points(0, 138) = 0.55378840554260033713;
  points(1, 138) = 0.030741999686160263044;
  points(0, 139) = 0.41546959477123945881;
  points(1, 139) = 0.55378840554260033713;
  points(0, 140) = 0.030741999686160204064;
  points(1, 140) = 0.41546959477123968085;
  points(0, 141) = 0.22057744653370911503;
  points(1, 141) = 0.0032567536371101669587;
  points(0, 142) = 0.77616579982918065816;
  points(1, 142) = 0.22057744653370911503;
  points(0, 143) = 0.00325675363711014354;
  points(1, 143) = 0.77616579982918099123;
  points(0, 144) = 0.77616579982918076919;
  points(1, 144) = 0.0032567536371101669587;
  points(0, 145) = 0.22057744653370908727;
  points(1, 145) = 0.77616579982918099123;
  points(0, 146) = 0.0032567536371099076176;
  points(1, 146) = 0.22057744653370939258;
  points(0, 147) = 0.34288562039435871442;
  points(1, 147) = 0.045187622960489129409;
  points(0, 148) = 0.61192675664515205902;
  points(1, 148) = 0.34288562039435882545;
  points(0, 149) = 0.045187622960489115531;
  points(1, 149) = 0.61192675664515228107;
  points(0, 150) = 0.61192675664515217004;
  points(1, 150) = 0.045187622960489129409;
  points(0, 151) = 0.34288562039435882545;
  points(1, 151) = 0.61192675664515217004;
  points(0, 152) = 0.045187622960489004509;
  points(1, 152) = 0.34288562039435899198;
  points(0, 153) = 0.23150386061168026774;
  points(1, 153) = 0.1508185102240567621;
  points(0, 154) = 0.6176776291642629424;
  points(1, 154) = 0.2315038606116802955;
  points(0, 155) = 0.15081851022405673435;
  points(1, 155) = 0.61767762916426316444;
  points(0, 156) = 0.61767762916426305342;
  points(1, 156) = 0.1508185102240567621;
  points(0, 157) = 0.23150386061168032326;
  points(1, 157) = 0.61767762916426305342;
  points(0, 158) = 0.15081851022405659557;
  points(1, 158) = 0.2315038606116805453;
  points(0, 159) = 0.038101712964918210691;
  points(1, 159) = 0.016673674037479872811;
  points(0, 160) = 0.94522461299760185405;
  points(1, 160) = 0.038101712964918252324;
  points(0, 161) = 0.016673674037480101795;
  points(1, 161) = 0.94522461299760185405;
  points(0, 162) = 0.94522461299760196507;
  points(1, 162) = 0.016673674037479872811;
  points(0, 163) = 0.038101712964918210691;
  points(1, 163) = 0.94522461299760218711;
  points(0, 164) = 0.016673674037479616072;
  points(1, 164) = 0.038101712964918571513;
  points(0, 165) = 0.35289110851016769477;
  points(1, 165) = 0.16210524214554400402;
  points(0, 166) = 0.48500364934428830122;
  points(1, 166) = 0.35289110851016775028;
  points(0, 167) = 0.162105242145543893;
  points(1, 167) = 0.48500364934428852326;
  points(0, 168) = 0.48500364934428830122;
  points(1, 168) = 0.16210524214554400402;
  points(0, 169) = 0.35289110851016769477;
  points(1, 169) = 0.48500364934428835673;
  points(0, 170) = 0.16210524214554386524;
  points(1, 170) = 0.3528911085101678613;
  points(0, 171) = 0.40007606991958105658;
  points(1, 171) = 0.064525860099930359981;
  points(0, 172) = 0.53539806998048855569;
  points(1, 172) = 0.40007606991958111209;
  points(0, 173) = 0.064525860099930332225;
  points(1, 173) = 0.53539806998048877773;
  points(0, 174) = 0.53539806998048866671;
  points(1, 174) = 0.064525860099930359981;
  points(0, 175) = 0.40007606991958105658;
  points(1, 175) = 0.53539806998048866671;
  points(0, 176) = 0.064525860099930248959;
  points(1, 176) = 0.40007606991958127862;
  points(0, 177) = 0.18778434154653758648;
  points(1, 177) = 0.11437969546856911751;
  points(0, 178) = 0.69783596298489325438;
  points(1, 178) = 0.18778434154653761423;
  points(0, 179) = 0.11437969546856913139;
  points(1, 179) = 0.69783596298489347642;
  points(0, 180) = 0.69783596298489325438;
  points(1, 180) = 0.11437969546856911751;
  points(0, 181) = 0.18778434154653766974;
  points(1, 181) = 0.6978359629848933654;
  points(0, 182) = 0.11437969546856890934;
  points(1, 182) = 0.18778434154653789179;
  points(0, 183) = 0.20737693769034115654;
  points(1, 183) = 0.069571995852782078651;
  points(0, 184) = 0.72305106645687677869;
  points(1, 184) = 0.20737693769034118429;
  points(0, 185) = 0.069571995852782064773;
  points(1, 185) = 0.72305106645687700073;
  points(0, 186) = 0.72305106645687677869;
  points(1, 186) = 0.069571995852782078651;
  points(0, 187) = 0.20737693769034115654;
  points(1, 187) = 0.72305106645687700073;
  points(0, 188) = 0.069571995852781925995;
  points(1, 188) = 0.2073769376903414341;
  points(0, 189) = 0.10780383022637546331;
  points(1, 189) = 0.056034359700542608895;
  points(0, 190) = 0.83616181007308187922;
  points(1, 190) = 0.10780383022637547719;
  points(0, 191) = 0.056034359700542657468;
  points(1, 191) = 0.83616181007308210127;
  points(0, 192) = 0.83616181007308187922;
  points(1, 192) = 0.056034359700542608895;
  points(0, 193) = 0.10780383022637557433;
  points(1, 193) = 0.83616181007308199025;
  points(0, 194) = 0.056034359700542407667;
  points(1, 194) = 0.10780383022637579638;
  points(0, 195) = 0.14790146607312606997;
  points(1, 195) = 0.081589665784167098028;
  points(0, 196) = 0.77050886814270680425;
  points(1, 196) = 0.14790146607312609772;
  points(0, 197) = 0.081589665784167153539;
  points(1, 197) = 0.77050886814270702629;
  points(0, 198) = 0.77050886814270680425;
  points(1, 198) = 0.081589665784167098028;
  points(0, 199) = 0.14790146607312604221;
  points(1, 199) = 0.77050886814270702629;
  points(0, 200) = 0.081589665784166903739;
  points(1, 200) = 0.14790146607312631977;
  points(0, 201) = 0.16004266841135877941;
  points(1, 201) = 0.044629273771224740874;
  points(0, 202) = 0.79532805781741644502;
  points(1, 202) = 0.16004266841135880717;
  points(0, 203) = 0.04462927377122483108;
  points(1, 203) = 0.79532805781741666706;
  points(0, 204) = 0.79532805781741644502;
  points(1, 204) = 0.044629273771224740874;
  points(0, 205) = 0.16004266841135883492;
  points(1, 205) = 0.79532805781741666706;
  points(0, 206) = 0.044629273771224539646;
  points(1, 206) = 0.16004266841135908472;
  points(0, 207) = 0.37787666968877203777;
  points(1, 207) = 0.10879187659921737974;
  points(0, 208) = 0.51333145371201061025;
  points(1, 208) = 0.37787666968877214879;
  points(0, 209) = 0.10879187659921729647;
  points(1, 209) = 0.51333145371201083229;
  points(0, 210) = 0.51333145371201061025;
  points(1, 210) = 0.10879187659921737974;
  points(0, 211) = 0.37787666968877203777;
  points(1, 211) = 0.51333145371201072127;
  points(0, 212) = 0.10879187659921726872;
  points(1, 212) = 0.37787666968877225981;
  points(0, 213) = 0.25269631485220667155;
  points(1, 213) = 0.25269631485220683809;
  points(0, 214) = 0.49460737029558643485;
  points(1, 214) = 0.25269631485220672706;
  points(0, 215) = 0.25269631485220678258;
  points(1, 215) = 0.49460737029558660138;
  points(0, 216) = 0.039223369664808431512;
  points(1, 216) = 0.0032061485845241871097;
  points(0, 217) = 0.95757048175066739049;
  points(1, 217) = 0.039223369664808438451;
  points(0, 218) = 0.0032061485845243931081;
  points(1, 218) = 0.95757048175066739049;
  points(0, 219) = 0.95757048175066739049;
  points(1, 219) = 0.0032061485845241871097;
  points(0, 220) = 0.039223369664808549473;
  points(1, 220) = 0.95757048175066739049;
  points(0, 221) = 0.0032061485845239802439;
  points(1, 221) = 0.03922336966480882009;
  points(0, 222) = 0.32430444507713812596;
  points(1, 222) = 0.082976548058919144535;
  points(0, 223) = 0.59271900686394274338;
  points(1, 223) = 0.32430444507713818147;
  points(0, 224) = 0.082976548058919075146;
  points(1, 224) = 0.59271900686394296542;
  points(0, 225) = 0.59271900686394274338;
  points(1, 225) = 0.082976548058919144535;
  points(0, 226) = 0.32430444507713812596;
  points(1, 226) = 0.5927190068639428544;
  points(0, 227) = 0.082976548058918991879;
  points(1, 227) = 0.32430444507713834801;
  points(0, 228) = 0.21057712951480420105;
  points(1, 228) = 0.21057712951480439534;
  points(0, 229) = 0.57884574097039143137;
  points(1, 229) = 0.21057712951480428432;
  points(0, 230) = 0.21057712951480428432;
  points(1, 230) = 0.57884574097039165341;
  points(0, 231) = 0.0030575106285418403654;
  points(1, 231) = 0.0030575106285421539166;
  points(0, 232) = 0.99388497874291603651;
  points(1, 232) = 0.0030575106285418334265;
  points(0, 233) = 0.0030575106285423148123;
  points(1, 233) = 0.99388497874291603651;
  points(0, 234) = 0.40329222227426281266;
  points(1, 234) = 0.19341555545147440243;
  points(0, 235) = 0.40329222227426275715;
  points(1, 235) = 0.40329222227426292369;
  points(0, 236) = 0.19341555545147431916;
  points(1, 236) = 0.4032922222742629792;
  points(0, 237) = 0.47675164680029286091;
  points(1, 237) = 0.046496706399414243494;
  points(0, 238) = 0.47675164680029280539;
  points(1, 238) = 0.47675164680029297193;
  points(0, 239) = 0.046496706399414167166;
  points(1, 239) = 0.47675164680029313846;
  points(0, 240) = 0.35098484762250470315;
  points(1, 240) = 0.003520735009988248173;
  points(0, 241) = 0.64549441736750701182;
  points(1, 241) = 0.35098484762250475866;
  points(0, 242) = 0.0035207350099881740135;
  points(1, 242) = 0.64549441736750734488;
  points(0, 243) = 0.64549441736750712284;
  points(1, 243) = 0.003520735009988248173;
  points(0, 244) = 0.35098484762250481417;
  points(1, 244) = 0.64549441736750701182;
  points(0, 245) = 0.0035207350099881185024;
  points(1, 245) = 0.35098484762250503621;
  points(0, 246) = 0.064856245159702549663;
  points(1, 246) = 0.064856245159702813341;
  points(0, 247) = 0.87028750968059465087;
  points(1, 247) = 0.064856245159702535785;
  points(0, 248) = 0.064856245159702952119;
  points(1, 248) = 0.8702875096805947619;
  points(0, 249) = 0.16889637978296173637;
  points(1, 249) = 0.16889637978296198617;
  points(0, 250) = 0.66220724043407619419;
  points(1, 250) = 0.16889637978296181964;
  points(0, 251) = 0.16889637978296206944;
  points(1, 251) = 0.66220724043407630521;
  points(0, 252) = 0.33333333333333325932;
  points(1, 252) = 0.33333333333333342585;
  points(0, 253) = 0.42087082762569366645;
  points(1, 253) = 0.00059829472863677751575;
  points(0, 254) = 0.57853087764566968332;
  points(1, 254) = 0.42087082762569372196;
  points(0, 255) = 0.00059829472863670574156;
  points(1, 255) = 0.57853087764566979434;
  points(0, 256) = 0.5785308776456695723;
  points(1, 256) = 0.00059829472863677751575;
  points(0, 257) = 0.42087082762569366645;
  points(1, 257) = 0.5785308776456695723;
  points(0, 258) = 0.00059829472863665023041;
  points(1, 258) = 0.42087082762569394401;
  points(0, 259) = 0.096298034159157636092;
  points(1, 259) = 0.096298034159157885892;
  points(0, 260) = 0.80740393168168445026;
  points(1, 260) = 0.096298034159157622214;
  points(0, 261) = 0.096298034159157885892;
  points(1, 261) = 0.80740393168168467231;
  points(0, 262) = 0.2526560385602646952;
  points(1, 262) = 0.099683719460199493589;
  points(0, 263) = 0.64766024197953586672;
  points(1, 263) = 0.2526560385602646952;
  points(0, 264) = 0.099683719460199493589;
  points(1, 264) = 0.64766024197953597774;
  points(0, 265) = 0.64766024197953586672;
  points(1, 265) = 0.099683719460199493589;
  points(0, 266) = 0.2526560385602646952;
  points(1, 266) = 0.64766024197953597774;
  points(0, 267) = 0.099683719460199354812;
  points(1, 267) = 0.25265603856026491725;
  points(0, 268) = 0.49070156913020396283;
  points(1, 268) = 0.018596861739592105561;
  points(0, 269) = 0.49070156913020396283;
  points(1, 269) = 0.49070156913020401834;
  points(0, 270) = 0.018596861739592046581;
  points(1, 270) = 0.49070156913020418488;
  points(0, 271) = 0.49846457923659759359;
  points(1, 271) = 0.0030708415268047763863;
  points(0, 272) = 0.4984645792365976491;
  points(1, 272) = 0.49846457923659770461;
  points(0, 273) = 0.0030708415268046740376;
  points(1, 273) = 0.49846457923659787115;
  points(0, 274) = 0.30167033356052752602;
  points(1, 274) = 0.13082391437504867215;
  points(0, 275) = 0.56750575206442377407;
  points(1, 275) = 0.30167033356052763704;
  points(0, 276) = 0.13082391437504858889;
  points(1, 276) = 0.56750575206442399612;
  points(0, 277) = 0.56750575206442377407;
  points(1, 277) = 0.13082391437504867215;
  points(0, 278) = 0.30167033356052758153;
  points(1, 278) = 0.56750575206442388509;
  points(0, 279) = 0.13082391437504850562;
  points(1, 279) = 0.30167033356052780357;
  points(0, 280) = 0.43227197760680635685;
  points(1, 280) = 0.13545604478638731405;
  points(0, 281) = 0.43227197760680635685;
  points(1, 281) = 0.43227197760680646788;
  points(0, 282) = 0.13545604478638725854;
  points(1, 282) = 0.43227197760680652339;
  points(0, 283) = 0.13024160699020914667;
  points(1, 283) = 0.13024160699020939647;
  points(0, 284) = 0.7395167860195813736;
  points(1, 284) = 0.13024160699020917442;
  points(0, 285) = 0.13024160699020942422;
  points(1, 285) = 0.73951678601958159565;
  points(0, 286) = 0.45687173715432277676;
  points(1, 286) = 0.086256525691354432595;
  points(0, 287) = 0.45687173715432277676;
  points(1, 287) = 0.45687173715432283227;
  points(0, 288) = 0.086256525691354363206;
  points(1, 288) = 0.45687173715432299881;
  points(0, 289) = 0.0160613879667907411;
  points(1, 289) = 0.0029955877400127412652;
  points(0, 290) = 0.98094302429319646386;
  points(1, 290) = 0.016061387966790713344;
  points(0, 291) = 0.0029955877400129060639;
  points(1, 291) = 0.98094302429319657488;
  points(0, 292) = 0.98094302429319657488;
  points(1, 292) = 0.0029955877400127412652;
  points(0, 293) = 0.016061387966790852122;
  points(1, 293) = 0.98094302429319657488;
  points(0, 294) = 0.0029955877400124793219;
  points(1, 294) = 0.016061387966791094983;

  weights(0) = 0.00018877618392678461993;
  weights(1) = 0.00018877618392678461993;
  weights(2) = 0.00018877618392678461993;
  weights(3) = 0.00018877618392678461993;
  weights(4) = 0.00018877618392678461993;
  weights(5) = 0.00018877618392678461993;
  weights(6) = 0.00077584248492751676455;
  weights(7) = 0.00077584248492751676455;
  weights(8) = 0.00077584248492751676455;
  weights(9) = 0.00077584248492751676455;
  weights(10) = 0.00077584248492751676455;
  weights(11) = 0.00077584248492751676455;
  weights(12) = 0.0004322072803732963475;
  weights(13) = 0.0004322072803732963475;
  weights(14) = 0.0004322072803732963475;
  weights(15) = 0.0004322072803732963475;
  weights(16) = 0.0004322072803732963475;
  weights(17) = 0.0004322072803732963475;
  weights(18) = 0.00049859246593658278646;
  weights(19) = 0.00049859246593658278646;
  weights(20) = 0.00049859246593658278646;
  weights(21) = 0.00049859246593658278646;
  weights(22) = 0.00049859246593658278646;
  weights(23) = 0.00049859246593658278646;
  weights(24) = 0.00020453851564902316763;
  weights(25) = 0.00020453851564902316763;
  weights(26) = 0.00020453851564902316763;
  weights(27) = 0.00020453851564902316763;
  weights(28) = 0.00020453851564902316763;
  weights(29) = 0.00020453851564902316763;
  weights(30) = 0.0010218335800422136822;
  weights(31) = 0.0010218335800422136822;
  weights(32) = 0.0010218335800422136822;
  weights(33) = 0.0010218335800422136822;
  weights(34) = 0.0010218335800422136822;
  weights(35) = 0.0010218335800422136822;
  weights(36) = 0.00020632216631381097025;
  weights(37) = 0.00020632216631381097025;
  weights(38) = 0.00020632216631381097025;
  weights(39) = 0.00020632216631381097025;
  weights(40) = 0.00020632216631381097025;
  weights(41) = 0.00020632216631381097025;
  weights(42) = 0.00095734837719841541556;
  weights(43) = 0.00095734837719841541556;
  weights(44) = 0.00095734837719841541556;
  weights(45) = 0.00095734837719841541556;
  weights(46) = 0.00095734837719841541556;
  weights(47) = 0.00095734837719841541556;
  weights(48) = 0.00058200156799497024425;
  weights(49) = 0.00058200156799497024425;
  weights(50) = 0.00058200156799497024425;
  weights(51) = 0.00058200156799497024425;
  weights(52) = 0.00058200156799497024425;
  weights(53) = 0.00058200156799497024425;
  weights(54) = 0.0014593368553261849754;
  weights(55) = 0.0014593368553261849754;
  weights(56) = 0.0014593368553261849754;
  weights(57) = 0.0014593368553261849754;
  weights(58) = 0.0014593368553261849754;
  weights(59) = 0.0014593368553261849754;
  weights(60) = 0.00097116908616117663452;
  weights(61) = 0.00097116908616117663452;
  weights(62) = 0.00097116908616117663452;
  weights(63) = 0.00097116908616117663452;
  weights(64) = 0.00097116908616117663452;
  weights(65) = 0.00097116908616117663452;
  weights(66) = 0.001021858032116490728;
  weights(67) = 0.001021858032116490728;
  weights(68) = 0.001021858032116490728;
  weights(69) = 0.001021858032116490728;
  weights(70) = 0.001021858032116490728;
  weights(71) = 0.001021858032116490728;
  weights(72) = 0.00022808942921744438715;
  weights(73) = 0.00022808942921744438715;
  weights(74) = 0.00022808942921744438715;
  weights(75) = 0.00022808942921744438715;
  weights(76) = 0.00022808942921744438715;
  weights(77) = 0.00022808942921744438715;
  weights(78) = 0.00055907632534926070093;
  weights(79) = 0.00055907632534926070093;
  weights(80) = 0.00055907632534926070093;
  weights(81) = 0.00055907632534926070093;
  weights(82) = 0.00055907632534926070093;
  weights(83) = 0.00055907632534926070093;
  weights(84) = 0.0015182362058061848759;
  weights(85) = 0.0015182362058061848759;
  weights(86) = 0.0015182362058061848759;
  weights(87) = 0.0015182362058061848759;
  weights(88) = 0.0015182362058061848759;
  weights(89) = 0.0015182362058061848759;
  weights(90) = 0.00097009283955570098281;
  weights(91) = 0.00097009283955570098281;
  weights(92) = 0.00097009283955570098281;
  weights(93) = 0.00097009283955570098281;
  weights(94) = 0.00097009283955570098281;
  weights(95) = 0.00097009283955570098281;
  weights(96) = 0.00095746174219647631545;
  weights(97) = 0.00095746174219647631545;
  weights(98) = 0.00095746174219647631545;
  weights(99) = 0.00095746174219647631545;
  weights(100) = 0.00095746174219647631545;
  weights(101) = 0.00095746174219647631545;
  weights(102) = 0.00031280330983742525445;
  weights(103) = 0.00031280330983742525445;
  weights(104) = 0.00031280330983742525445;
  weights(105) = 0.004297264479493399271;
  weights(106) = 0.004297264479493399271;
  weights(107) = 0.004297264479493399271;
  weights(108) = 0.0042996661707809958469;
  weights(109) = 0.0042996661707809958469;
  weights(110) = 0.0042996661707809958469;
  weights(111) = 0.0041160670281137849008;
  weights(112) = 0.0041160670281137849008;
  weights(113) = 0.0041160670281137849008;
  weights(114) = 0.0041160670281137849008;
  weights(115) = 0.0041160670281137849008;
  weights(116) = 0.0041160670281137849008;
  weights(117) = 0.0037697602429350926534;
  weights(118) = 0.0037697602429350926534;
  weights(119) = 0.0037697602429350926534;
  weights(120) = 0.0037697602429350926534;
  weights(121) = 0.0037697602429350926534;
  weights(122) = 0.0037697602429350926534;
  weights(123) = 0.00092758731243633896126;
  weights(124) = 0.00092758731243633896126;
  weights(125) = 0.00092758731243633896126;
  weights(126) = 0.00092758731243633896126;
  weights(127) = 0.00092758731243633896126;
  weights(128) = 0.00092758731243633896126;
  weights(129) = 0.0022024106870840291263;
  weights(130) = 0.0022024106870840291263;
  weights(131) = 0.0022024106870840291263;
  weights(132) = 0.0022024106870840291263;
  weights(133) = 0.0022024106870840291263;
  weights(134) = 0.0022024106870840291263;
  weights(135) = 0.0019036025030929458902;
  weights(136) = 0.0019036025030929458902;
  weights(137) = 0.0019036025030929458902;
  weights(138) = 0.0019036025030929458902;
  weights(139) = 0.0019036025030929458902;
  weights(140) = 0.0019036025030929458902;
  weights(141) = 0.00048472228952726965695;
  weights(142) = 0.00048472228952726965695;
  weights(143) = 0.00048472228952726965695;
  weights(144) = 0.00048472228952726965695;
  weights(145) = 0.00048472228952726965695;
  weights(146) = 0.00048472228952726965695;
  weights(147) = 0.0021120401667403866132;
  weights(148) = 0.0021120401667403866132;
  weights(149) = 0.0021120401667403866132;
  weights(150) = 0.0021120401667403866132;
  weights(151) = 0.0021120401667403866132;
  weights(152) = 0.0021120401667403866132;
  weights(153) = 0.0033096627764702081162;
  weights(154) = 0.0033096627764702081162;
  weights(155) = 0.0033096627764702081162;
  weights(156) = 0.0033096627764702081162;
  weights(157) = 0.0033096627764702081162;
  weights(158) = 0.0033096627764702081162;
  weights(159) = 0.00050070364441341783015;
  weights(160) = 0.00050070364441341783015;
  weights(161) = 0.00050070364441341783015;
  weights(162) = 0.00050070364441341783015;
  weights(163) = 0.00050070364441341783015;
  weights(164) = 0.00050070364441341783015;
  weights(165) = 0.0037781555372607433275;
  weights(166) = 0.0037781555372607433275;
  weights(167) = 0.0037781555372607433275;
  weights(168) = 0.0037781555372607433275;
  weights(169) = 0.0037781555372607433275;
  weights(170) = 0.0037781555372607433275;
  weights(171) = 0.0026493525219968053729;
  weights(172) = 0.0026493525219968053729;
  weights(173) = 0.0026493525219968053729;
  weights(174) = 0.0026493525219968053729;
  weights(175) = 0.0026493525219968053729;
  weights(176) = 0.0026493525219968053729;
  weights(177) = 0.002777344898064207368;
  weights(178) = 0.002777344898064207368;
  weights(179) = 0.002777344898064207368;
  weights(180) = 0.002777344898064207368;
  weights(181) = 0.002777344898064207368;
  weights(182) = 0.002777344898064207368;
  weights(183) = 0.0022529922804747203741;
  weights(184) = 0.0022529922804747203741;
  weights(185) = 0.0022529922804747203741;
  weights(186) = 0.0022529922804747203741;
  weights(187) = 0.0022529922804747203741;
  weights(188) = 0.0022529922804747203741;
  weights(189) = 0.0015565675694601433399;
  weights(190) = 0.0015565675694601433399;
  weights(191) = 0.0015565675694601433399;
  weights(192) = 0.0015565675694601433399;
  weights(193) = 0.0015565675694601433399;
  weights(194) = 0.0015565675694601433399;
  weights(195) = 0.0021949191081013417169;
  weights(196) = 0.0021949191081013417169;
  weights(197) = 0.0021949191081013417169;
  weights(198) = 0.0021949191081013417169;
  weights(199) = 0.0021949191081013417169;
  weights(200) = 0.0021949191081013417169;
  weights(201) = 0.0016192761860414576353;
  weights(202) = 0.0016192761860414576353;
  weights(203) = 0.0016192761860414576353;
  weights(204) = 0.0016192761860414576353;
  weights(205) = 0.0016192761860414576353;
  weights(206) = 0.0016192761860414576353;
  weights(207) = 0.0032871490558047593115;
  weights(208) = 0.0032871490558047593115;
  weights(209) = 0.0032871490558047593115;
  weights(210) = 0.0032871490558047593115;
  weights(211) = 0.0032871490558047593115;
  weights(212) = 0.0032871490558047593115;
  weights(213) = 0.0040195677996607160481;
  weights(214) = 0.0040195677996607160481;
  weights(215) = 0.0040195677996607160481;
  weights(216) = 0.00023096879018732696339;
  weights(217) = 0.00023096879018732696339;
  weights(218) = 0.00023096879018732696339;
  weights(219) = 0.00023096879018732696339;
  weights(220) = 0.00023096879018732696339;
  weights(221) = 0.00023096879018732696339;
  weights(222) = 0.0028101649311348107264;
  weights(223) = 0.0028101649311348107264;
  weights(224) = 0.0028101649311348107264;
  weights(225) = 0.0028101649311348107264;
  weights(226) = 0.0028101649311348107264;
  weights(227) = 0.0028101649311348107264;
  weights(228) = 0.0036059117974544304536;
  weights(229) = 0.0036059117974544304536;
  weights(230) = 0.0036059117974544304536;
  weights(231) = 6.1481942566662703777e-05;
  weights(232) = 6.1481942566662703777e-05;
  weights(233) = 6.1481942566662703777e-05;
  weights(234) = 0.0040334024837259483537;
  weights(235) = 0.0040334024837259483537;
  weights(236) = 0.0040334024837259483537;
  weights(237) = 0.0023394881142264544946;
  weights(238) = 0.0023394881142264544946;
  weights(239) = 0.0023394881142264544946;
  weights(240) = 0.00061638477846486904987;
  weights(241) = 0.00061638477846486904987;
  weights(242) = 0.00061638477846486904987;
  weights(243) = 0.00061638477846486904987;
  weights(244) = 0.00061638477846486904987;
  weights(245) = 0.00061638477846486904987;
  weights(246) = 0.0013586492859623854664;
  weights(247) = 0.0013586492859623854664;
  weights(248) = 0.0013586492859623854664;
  weights(249) = 0.0031199710152651680649;
  weights(250) = 0.0031199710152651680649;
  weights(251) = 0.0031199710152651680649;
  weights(252) = 0.0043927422264315495529;
  weights(253) = 0.00022450511909807304399;
  weights(254) = 0.00022450511909807304399;
  weights(255) = 0.00022450511909807304399;
  weights(256) = 0.00022450511909807304399;
  weights(257) = 0.00022450511909807304399;
  weights(258) = 0.00022450511909807304399;
  weights(259) = 0.0019454546898024754464;
  weights(260) = 0.0019454546898024754464;
  weights(261) = 0.0019454546898024754464;
  weights(262) = 0.002844091632678366708;
  weights(263) = 0.002844091632678366708;
  weights(264) = 0.002844091632678366708;
  weights(265) = 0.002844091632678366708;
  weights(266) = 0.002844091632678366708;
  weights(267) = 0.002844091632678366708;
  weights(268) = 0.0015144845531386305713;
  weights(269) = 0.0015144845531386305713;
  weights(270) = 0.0015144845531386305713;
  weights(271) = 0.00060251403112775853144;
  weights(272) = 0.00060251403112775853144;
  weights(273) = 0.00060251403112775853144;
  weights(274) = 0.0033739544480611218143;
  weights(275) = 0.0033739544480611218143;
  weights(276) = 0.0033739544480611218143;
  weights(277) = 0.0033739544480611218143;
  weights(278) = 0.0033739544480611218143;
  weights(279) = 0.0033739544480611218143;
  weights(280) = 0.0036124428674794420088;
  weights(281) = 0.0036124428674794420088;
  weights(282) = 0.0036124428674794420088;
  weights(283) = 0.0025681958630702152353;
  weights(284) = 0.0025681958630702152353;
  weights(285) = 0.0025681958630702152353;
  weights(286) = 0.0030422269377476307203;
  weights(287) = 0.0030422269377476307203;
  weights(288) = 0.0030422269377476307203;
  weights(289) = 0.00013928031252431657397;
  weights(290) = 0.00013928031252431657397;
  weights(291) = 0.00013928031252431657397;
  weights(292) = 0.00013928031252431657397;
  weights(293) = 0.00013928031252431657397;
  weights(294) = 0.00013928031252431657397;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 40);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 41>() { // NOLINT
  Eigen::MatrixXd points(2, 309);
  Eigen::VectorXd weights(309);

  points(0, 0) = 0.0018100550930815317158;
  points(1, 0) = 0.0018100550930818285703;
  points(0, 1) = 0.99637988981383651677;
  points(1, 1) = 0.0018100550930815080802;
  points(0, 2) = 0.0018100550930819081508;
  points(1, 2) = 0.99637988981383684983;
  points(0, 3) = 0.31460775138387775396;
  points(1, 3) = 0.31460775138387792049;
  points(0, 4) = 0.37078449723224427004;
  points(1, 4) = 0.31460775138387792049;
  points(0, 5) = 0.31460775138387780947;
  points(1, 5) = 0.37078449723224438106;
  points(0, 6) = 0.37183245783943574825;
  points(1, 6) = 0.25633508432112844799;
  points(0, 7) = 0.37183245783943585927;
  points(1, 7) = 0.37183245783943591478;
  points(0, 8) = 0.25633508432112828146;
  points(1, 8) = 0.37183245783943591478;
  points(0, 9) = 0.93384789586926064686;
  points(1, 9) = 0.026772802208715532762;
  points(0, 10) = 0.039379301922023990379;
  points(1, 10) = 0.93384789586926064686;
  points(0, 11) = 0.026772802208715276023;
  points(1, 11) = 0.039379301922024163851;
  points(0, 12) = 0.039379301922023851601;
  points(1, 12) = 0.026772802208715532762;
  points(0, 13) = 0.93384789586926053584;
  points(1, 13) = 0.039379301922023844662;
  points(0, 14) = 0.026772802208715695826;
  points(1, 14) = 0.93384789586926064686;
  points(0, 15) = 0.070874972726685914193;
  points(1, 15) = 0.021467386112313031898;
  points(0, 16) = 0.90765764116100100534;
  points(1, 16) = 0.070874972726685886437;
  points(0, 17) = 0.021467386112313135982;
  points(1, 17) = 0.90765764116100122738;
  points(0, 18) = 0.90765764116100100534;
  points(1, 18) = 0.021467386112313031898;
  points(0, 19) = 0.070874972726685858682;
  points(1, 19) = 0.9076576411610013384;
  points(0, 20) = 0.021467386112312782098;
  points(1, 20) = 0.070874972726686233382;
  points(0, 21) = 0.022767658909952356167;
  points(1, 21) = 0.011985111242754814195;
  points(0, 22) = 0.96524722984729272035;
  points(1, 22) = 0.022767658909952349228;
  points(0, 23) = 0.011985111242754920013;
  points(1, 23) = 0.9652472298472929424;
  points(0, 24) = 0.96524722984729283137;
  points(1, 24) = 0.011985111242754814195;
  points(0, 25) = 0.022767658909952470658;
  points(1, 25) = 0.9652472298472929424;
  points(0, 26) = 0.011985111242754510619;
  points(1, 26) = 0.022767658909952734336;
  points(0, 27) = 0.21270265851909794796;
  points(1, 27) = 0.096411202624268999006;
  points(0, 28) = 0.69088613885663296976;
  points(1, 28) = 0.21270265851909797572;
  points(0, 29) = 0.096411202624269054517;
  points(1, 29) = 0.69088613885663319181;
  points(0, 30) = 0.69088613885663308078;
  points(1, 30) = 0.096411202624268999006;
  points(0, 31) = 0.21270265851909792021;
  points(1, 31) = 0.69088613885663330283;
  points(0, 32) = 0.09641120262426879084;
  points(1, 32) = 0.21270265851909817001;
  points(0, 33) = 0.19707999494152017572;
  points(1, 33) = 0.12797822284643278756;
  points(0, 34) = 0.67494178221204692569;
  points(1, 34) = 0.19707999494152023123;
  points(0, 35) = 0.12797822284643278756;
  points(1, 35) = 0.67494178221204714774;
  points(0, 36) = 0.67494178221204703672;
  points(1, 36) = 0.12797822284643278756;
  points(0, 37) = 0.19707999494152028674;
  points(1, 37) = 0.67494178221204714774;
  points(0, 38) = 0.12797822284643262103;
  points(1, 38) = 0.19707999494152042552;
  points(0, 39) = 0.48184896017583439543;
  points(1, 39) = 0.036302079648331257722;
  points(0, 40) = 0.48184896017583433991;
  points(1, 40) = 0.48184896017583445094;
  points(0, 41) = 0.03630207964833120915;
  points(1, 41) = 0.48184896017583456196;
  points(0, 42) = 0.063913041436000711526;
  points(1, 42) = 0.042399106611156152369;
  points(0, 43) = 0.89368785195284305978;
  points(1, 43) = 0.063913041436000656015;
  points(0, 44) = 0.042399106611156256452;
  points(1, 44) = 0.89368785195284339284;
  points(0, 45) = 0.8936878519528431708;
  points(1, 45) = 0.042399106611156152369;
  points(0, 46) = 0.06391304143600068377;
  points(1, 46) = 0.89368785195284339284;
  points(0, 47) = 0.042399106611155951141;
  points(1, 47) = 0.063913041436001016837;
  points(0, 48) = 0.091625463275757684789;
  points(1, 48) = 0.011686997401174688271;
  points(0, 49) = 0.89668753932306766163;
  points(1, 49) = 0.091625463275757684789;
  points(0, 50) = 0.011686997401174847866;
  points(1, 50) = 0.89668753932306766163;
  points(0, 51) = 0.89668753932306766163;
  points(1, 51) = 0.011686997401174688271;
  points(0, 52) = 0.091625463275757768056;
  points(1, 52) = 0.89668753932306766163;
  points(0, 53) = 0.011686997401174480105;
  points(1, 53) = 0.091625463275758003978;
  points(0, 54) = 0.088917540355737983981;
  points(1, 54) = 0.063241532938583186474;
  points(0, 55) = 0.84784092670567878791;
  points(1, 55) = 0.088917540355737997859;
  points(0, 56) = 0.063241532938583255863;
  points(1, 56) = 0.84784092670567900996;
  points(0, 57) = 0.84784092670567878791;
  points(1, 57) = 0.063241532938583186474;
  points(0, 58) = 0.088917540355738067248;
  points(1, 58) = 0.84784092670567900996;
  points(0, 59) = 0.06324153293858289504;
  points(1, 59) = 0.088917540355738330926;
  points(0, 60) = 0.45923055890369901544;
  points(1, 60) = 0.014840944840779534547;
  points(0, 61) = 0.52592849625552151593;
  points(1, 61) = 0.45923055890369907095;
  points(0, 62) = 0.014840944840779468628;
  points(1, 62) = 0.52592849625552173798;
  points(0, 63) = 0.52592849625552140491;
  points(1, 63) = 0.014840944840779534547;
  points(0, 64) = 0.45923055890369901544;
  points(1, 64) = 0.52592849625552151593;
  points(0, 65) = 0.014840944840779468628;
  points(1, 65) = 0.45923055890369923748;
  points(0, 66) = 0.033884382234843857251;
  points(1, 66) = 0.0018400396156130721485;
  points(0, 67) = 0.96427557814954301119;
  points(1, 67) = 0.033884382234843885007;
  points(0, 68) = 0.0018400396156132980963;
  points(1, 68) = 0.96427557814954301119;
  points(0, 69) = 0.96427557814954312221;
  points(1, 69) = 0.0018400396156130721485;
  points(0, 70) = 0.033884382234843912762;
  points(1, 70) = 0.96427557814954334425;
  points(0, 71) = 0.0018400396156127638014;
  points(1, 71) = 0.033884382234844204196;
  points(0, 72) = 0.32007521040661535139;
  points(1, 72) = 0.25805711373987166857;
  points(0, 73) = 0.42186767585351292453;
  points(1, 73) = 0.32007521040661551792;
  points(0, 74) = 0.25805711373987161306;
  points(1, 74) = 0.42186767585351309107;
  points(0, 75) = 0.42186767585351292453;
  points(1, 75) = 0.25805711373987166857;
  points(0, 76) = 0.3200752104066154069;
  points(1, 76) = 0.42186767585351303556;
  points(0, 77) = 0.25805711373987150203;
  points(1, 77) = 0.32007521040661557343;
  points(0, 78) = 0.14228199830842072626;
  points(1, 78) = 0.14228199830842097606;
  points(0, 79) = 0.71543600338315826992;
  points(1, 79) = 0.14228199830842078177;
  points(0, 80) = 0.14228199830842097606;
  points(1, 80) = 0.71543600338315849196;
  points(0, 81) = 0.42206849253188893911;
  points(1, 81) = 0.036219225434018634258;
  points(0, 82) = 0.54171228203409249602;
  points(1, 82) = 0.42206849253188899462;
  points(0, 83) = 0.03621922543401862038;
  points(1, 83) = 0.54171228203409260704;
  points(0, 84) = 0.54171228203409249602;
  points(1, 84) = 0.036219225434018634258;
  points(0, 85) = 0.42206849253188893911;
  points(1, 85) = 0.54171228203409249602;
  points(0, 86) = 0.036219225434018564869;
  points(1, 86) = 0.42206849253188916116;
  points(0, 87) = 0.047876441072928398179;
  points(1, 87) = 0.010543966044366423832;
  points(0, 88) = 0.94157959288270509646;
  points(1, 88) = 0.047876441072928349607;
  points(0, 89) = 0.010543966044366581691;
  points(1, 89) = 0.9415795928827053185;
  points(0, 90) = 0.94157959288270509646;
  points(1, 90) = 0.010543966044366423832;
  points(0, 91) = 0.047876441072928543896;
  points(1, 91) = 0.9415795928827053185;
  points(0, 92) = 0.010543966044366168827;
  points(1, 92) = 0.047876441072928703491;
  points(0, 93) = 0.17463361486634157438;
  points(1, 93) = 0.17463361486634182418;
  points(0, 94) = 0.65073277026731657369;
  points(1, 94) = 0.17463361486634165765;
  points(0, 95) = 0.1746336148663419352;
  points(1, 95) = 0.65073277026731657369;
  points(0, 96) = 0.42519807841513990176;
  points(1, 96) = 0.14960384316972014096;
  points(0, 97) = 0.42519807841513990176;
  points(1, 97) = 0.4251980784151400683;
  points(0, 98) = 0.14960384316972000218;
  points(1, 98) = 0.42519807841514017932;
  points(0, 99) = 0.36179902270607622317;
  points(1, 99) = 0.15102688749956555414;
  points(0, 100) = 0.48717408979435816718;
  points(1, 100) = 0.36179902270607633419;
  points(0, 101) = 0.15102688749956549863;
  points(1, 101) = 0.48717408979435838923;
  points(0, 102) = 0.4871740897943582782;
  points(1, 102) = 0.15102688749956555414;
  points(0, 103) = 0.36179902270607627868;
  points(1, 103) = 0.4871740897943582782;
  points(0, 104) = 0.15102688749956547087;
  points(1, 104) = 0.3617990227060763897;
  points(0, 105) = 0.2099773723379177448;
  points(1, 105) = 0.20997737233791791134;
  points(0, 106) = 0.58004525532416428835;
  points(1, 106) = 0.20997737233791782807;
  points(0, 107) = 0.20997737233791791134;
  points(1, 107) = 0.58004525532416439937;
  points(0, 108) = 0.068456943092220973179;
  points(1, 108) = 0.0024820609017323636003;
  points(0, 109) = 0.92906099600604652444;
  points(1, 109) = 0.068456943092220945424;
  points(0, 110) = 0.0024820609017324746226;
  points(1, 110) = 0.92906099600604685751;
  points(0, 111) = 0.92906099600604663546;
  points(1, 111) = 0.0024820609017323636003;
  points(0, 112) = 0.068456943092221000935;
  points(1, 112) = 0.92906099600604685751;
  points(0, 113) = 0.0024820609017321484946;
  points(1, 113) = 0.068456943092221264613;
  points(0, 114) = 0.23628847259645602286;
  points(1, 114) = 0.15495776702196287222;
  points(0, 115) = 0.60875376038158113268;
  points(1, 115) = 0.23628847259645607837;
  points(0, 116) = 0.15495776702196284447;
  points(1, 116) = 0.60875376038158135472;
  points(0, 117) = 0.60875376038158113268;
  points(1, 117) = 0.15495776702196287222;
  points(0, 118) = 0.23628847259645602286;
  points(1, 118) = 0.60875376038158135472;
  points(0, 119) = 0.15495776702196265018;
  points(1, 119) = 0.23628847259645618939;
  points(0, 120) = 0.29789541898504956485;
  points(1, 120) = 0.15196155366509886409;
  points(0, 121) = 0.55014302734985154331;
  points(1, 121) = 0.29789541898504967588;
  points(0, 122) = 0.15196155366509878082;
  points(1, 122) = 0.55014302734985176535;
  points(0, 123) = 0.55014302734985154331;
  points(1, 123) = 0.15196155366509886409;
  points(0, 124) = 0.29789541898504962036;
  points(1, 124) = 0.55014302734985165433;
  points(0, 125) = 0.15196155366509869755;
  points(1, 125) = 0.29789541898504984241;
  points(0, 126) = 0.11255725152392177801;
  points(1, 126) = 0.0023775457303721542549;
  points(0, 127) = 0.88506520274570610329;
  points(1, 127) = 0.11255725152392176414;
  points(0, 128) = 0.0023775457303722991043;
  points(1, 128) = 0.88506520274570621432;
  points(0, 129) = 0.88506520274570610329;
  points(1, 129) = 0.0023775457303721542549;
  points(0, 130) = 0.11255725152392181965;
  points(1, 130) = 0.88506520274570621432;
  points(0, 131) = 0.0023775457303719313429;
  points(1, 131) = 0.11255725152392211108;
  points(0, 132) = 0.012065862971307602172;
  points(1, 132) = 0.0030492380858381752315;
  points(0, 133) = 0.98488489894285424775;
  points(1, 133) = 0.012065862971307511967;
  points(0, 134) = 0.0030492380858384016129;
  points(1, 134) = 0.98488489894285435877;
  points(0, 135) = 0.98488489894285413673;
  points(1, 135) = 0.0030492380858381752315;
  points(0, 136) = 0.012065862971307683704;
  points(1, 136) = 0.98488489894285435877;
  points(0, 137) = 0.0030492380858379020125;
  points(1, 137) = 0.01206586297130796126;
  points(0, 138) = 0.39065309708631690278;
  points(1, 138) = 0.015075465750524293454;
  points(0, 139) = 0.59427143716315888877;
  points(1, 139) = 0.39065309708631695829;
  points(0, 140) = 0.015075465750524263964;
  points(1, 140) = 0.59427143716315899979;
  points(0, 141) = 0.59427143716315877775;
  points(1, 141) = 0.015075465750524293454;
  points(0, 142) = 0.3906530970863170138;
  points(1, 142) = 0.59427143716315877775;
  points(0, 143) = 0.015075465750524152941;
  points(1, 143) = 0.39065309708631723584;
  points(0, 144) = 0.42741072737397017844;
  points(1, 144) = 0.0028845541075684859138;
  points(0, 145) = 0.56970471851846127276;
  points(1, 145) = 0.42741072737397023396;
  points(0, 146) = 0.0028845541075684377752;
  points(1, 146) = 0.5697047185184614948;
  points(0, 147) = 0.56970471851846138378;
  points(1, 147) = 0.0028845541075684859138;
  points(0, 148) = 0.42741072737397023396;
  points(1, 148) = 0.56970471851846138378;
  points(0, 149) = 0.002884554107568382264;
  points(1, 149) = 0.427410727373970456;
  points(0, 150) = 0.26273997362534273758;
  points(1, 150) = 0.26273997362534290412;
  points(0, 151) = 0.47452005274931441381;
  points(1, 151) = 0.2627399736253427931;
  points(0, 152) = 0.26273997362534284861;
  points(1, 152) = 0.47452005274931458034;
  points(0, 153) = 0.41184552209771974063;
  points(1, 153) = 0.10476513772584566953;
  points(0, 154) = 0.48338934017643464536;
  points(1, 154) = 0.41184552209771979614;
  points(0, 155) = 0.10476513772584561401;
  points(1, 155) = 0.48338934017643475638;
  points(0, 156) = 0.48338934017643464536;
  points(1, 156) = 0.10476513772584566953;
  points(0, 157) = 0.41184552209771974063;
  points(1, 157) = 0.48338934017643470087;
  points(0, 158) = 0.1047651377258455585;
  points(1, 158) = 0.41184552209771996267;
  points(0, 159) = 0.49860363923111433726;
  points(1, 159) = 0.0027927215377713796897;
  points(0, 160) = 0.49860363923111428175;
  points(1, 160) = 0.49860363923111439277;
  points(0, 161) = 0.002792721537771297724;
  points(1, 161) = 0.4986036392311145593;
  points(0, 162) = 0.32222119451684366753;
  points(1, 162) = 0.014831767575572181103;
  points(0, 163) = 0.66294703790758424677;
  points(1, 163) = 0.32222119451684366753;
  points(0, 164) = 0.014831767575572252227;
  points(1, 164) = 0.6629470379075843578;
  points(0, 165) = 0.66294703790758413575;
  points(1, 165) = 0.014831767575572181103;
  points(0, 166) = 0.32222119451684383407;
  points(1, 166) = 0.66294703790758413575;
  points(0, 167) = 0.014831767575572030182;
  points(1, 167) = 0.32222119451684394509;
  points(0, 168) = 0.35452490163088129504;
  points(1, 168) = 0.03674519356462715991;
  points(0, 169) = 0.60872990480449151729;
  points(1, 169) = 0.35452490163088129504;
  points(0, 170) = 0.036745193564627132154;
  points(1, 170) = 0.60872990480449173933;
  points(0, 171) = 0.60872990480449151729;
  points(1, 171) = 0.03674519356462715991;
  points(0, 172) = 0.35452490163088135056;
  points(1, 172) = 0.60872990480449162831;
  points(0, 173) = 0.036745193564627021132;
  points(1, 173) = 0.3545249016308815726;
  points(0, 174) = 0.3320276172987797203;
  points(1, 174) = 0.20283297705625427665;
  points(0, 175) = 0.46513940564496603081;
  points(1, 175) = 0.33202761729877977581;
  points(0, 176) = 0.20283297705625419338;
  points(1, 176) = 0.46513940564496625285;
  points(0, 177) = 0.46513940564496603081;
  points(1, 177) = 0.20283297705625427665;
  points(0, 178) = 0.3320276172987797203;
  points(1, 178) = 0.46513940564496608632;
  points(0, 179) = 0.20283297705625416563;
  points(1, 179) = 0.33202761729877988683;
  points(0, 180) = 0.25302973908477227605;
  points(1, 180) = 0.065589317689696710612;
  points(0, 181) = 0.68138094322553111049;
  points(1, 181) = 0.25302973908477227605;
  points(0, 182) = 0.065589317689696724489;
  points(1, 182) = 0.68138094322553122151;
  points(0, 183) = 0.68138094322553099946;
  points(1, 183) = 0.065589317689696710612;
  points(0, 184) = 0.25302973908477233156;
  points(1, 184) = 0.68138094322553111049;
  points(0, 185) = 0.065589317689696502445;
  points(1, 185) = 0.2530297390847725536;
  points(0, 186) = 0.35703990489450970758;
  points(1, 186) = 0.00283340788181253838;
  points(0, 187) = 0.64012668722367771501;
  points(1, 187) = 0.35703990489450976309;
  points(0, 188) = 0.0028334078818125774113;
  points(1, 188) = 0.64012668722367782603;
  points(0, 189) = 0.64012668722367771501;
  points(1, 189) = 0.00283340788181253838;
  points(0, 190) = 0.35703990489450970758;
  points(1, 190) = 0.64012668722367782603;
  points(0, 191) = 0.0028334078818124108778;
  points(1, 191) = 0.35703990489450998513;
  points(0, 192) = 0.28706068921165539543;
  points(1, 192) = 0.036052515766674418651;
  points(0, 193) = 0.67688679502167026225;
  points(1, 193) = 0.28706068921165539543;
  points(0, 194) = 0.036052515766674453346;
  points(1, 194) = 0.67688679502167037327;
  points(0, 195) = 0.67688679502167015123;
  points(1, 195) = 0.036052515766674418651;
  points(0, 196) = 0.28706068921165539543;
  points(1, 196) = 0.67688679502167037327;
  points(0, 197) = 0.036052515766674203546;
  points(1, 197) = 0.28706068921165567298;
  points(0, 198) = 0.13613135163113607162;
  points(1, 198) = 0.014156197127127501806;
  points(0, 199) = 0.84971245124173644392;
  points(1, 199) = 0.13613135163113607162;
  points(0, 200) = 0.014156197127127567725;
  points(1, 200) = 0.84971245124173666596;
  points(0, 201) = 0.8497124512417363329;
  points(1, 201) = 0.014156197127127501806;
  points(0, 202) = 0.13613135163113609938;
  points(1, 202) = 0.84971245124173666596;
  points(0, 203) = 0.014156197127127248536;
  points(1, 203) = 0.13613135163113640469;
  points(0, 204) = 0.13222412566177502158;
  points(1, 204) = 0.063772809672132793612;
  points(0, 205) = 0.80400306466609205991;
  points(1, 205) = 0.13222412566177502158;
  points(0, 206) = 0.063772809672132890757;
  points(1, 206) = 0.80400306466609228195;
  points(0, 207) = 0.80400306466609217093;
  points(1, 207) = 0.063772809672132793612;
  points(0, 208) = 0.13222412566177510485;
  points(1, 208) = 0.80400306466609228195;
  points(0, 209) = 0.063772809672132571568;
  points(1, 209) = 0.13222412566177529913;
  points(0, 210) = 0.10792421983955233222;
  points(1, 210) = 0.033553439545873128824;
  points(0, 211) = 0.85852234061457455283;
  points(1, 211) = 0.10792421983955235998;
  points(0, 212) = 0.033553439545873142702;
  points(1, 212) = 0.85852234061457477488;
  points(0, 213) = 0.85852234061457444181;
  points(1, 213) = 0.033553439545873128824;
  points(0, 214) = 0.10792421983955235998;
  points(1, 214) = 0.85852234061457477488;
  points(0, 215) = 0.033553439545872872085;
  points(1, 215) = 0.10792421983955267917;
  points(0, 216) = 0.15288690214138658807;
  points(1, 216) = 0.099579044603542790637;
  points(0, 217) = 0.74753405325507060741;
  points(1, 217) = 0.15288690214138658807;
  points(0, 218) = 0.09957904460354283227;
  points(1, 218) = 0.74753405325507082946;
  points(0, 219) = 0.74753405325507060741;
  points(1, 219) = 0.099579044603542790637;
  points(0, 220) = 0.15288690214138661583;
  points(1, 220) = 0.74753405325507082946;
  points(0, 221) = 0.09957904460354258247;
  points(1, 221) = 0.15288690214138683787;
  points(0, 222) = 0.18810177192960664261;
  points(1, 222) = 0.064649152025039374747;
  points(0, 223) = 0.74724907604535395489;
  points(1, 223) = 0.18810177192960667036;
  points(0, 224) = 0.064649152025039346992;
  points(1, 224) = 0.74724907604535417693;
  points(0, 225) = 0.74724907604535395489;
  points(1, 225) = 0.064649152025039374747;
  points(0, 226) = 0.18810177192960669812;
  points(1, 226) = 0.74724907604535417693;
  points(0, 227) = 0.064649152025039208214;
  points(1, 227) = 0.18810177192960692016;
  points(0, 228) = 0.25498242915088792371;
  points(1, 228) = 0.014898726870807990977;
  points(0, 229) = 0.73011884397830406623;
  points(1, 229) = 0.25498242915088792371;
  points(0, 230) = 0.014898726870808010059;
  points(1, 230) = 0.73011884397830428828;
  points(0, 231) = 0.73011884397830406623;
  points(1, 231) = 0.014898726870807990977;
  points(0, 232) = 0.25498242915088792371;
  points(1, 232) = 0.73011884397830428828;
  points(0, 233) = 0.014898726870807843525;
  points(1, 233) = 0.25498242915088820126;
  points(0, 234) = 0.22307808048127769629;
  points(1, 234) = 0.0028544472780138571352;
  points(0, 235) = 0.77406747224070837632;
  points(1, 235) = 0.22307808048127772405;
  points(0, 236) = 0.0028544472780139273915;
  points(1, 236) = 0.77406747224070859836;
  points(0, 237) = 0.77406747224070837632;
  points(1, 237) = 0.0028544472780138571352;
  points(0, 238) = 0.2230780804812777518;
  points(1, 238) = 0.77406747224070859836;
  points(0, 239) = 0.0028544472780137053469;
  points(1, 239) = 0.22307808048127797385;
  points(0, 240) = 0.39956652552697025094;
  points(1, 240) = 0.20086694894605947037;
  points(0, 241) = 0.39956652552697030645;
  points(1, 241) = 0.39956652552697036196;
  points(0, 242) = 0.2008669489460593871;
  points(1, 242) = 0.39956652552697047298;
  points(0, 243) = 0.16405073602103253938;
  points(1, 243) = 0.0028307718211817703077;
  points(0, 244) = 0.83311849215778566169;
  points(1, 244) = 0.16405073602103256714;
  points(0, 245) = 0.0028307718211818544418;
  points(1, 245) = 0.83311849215778577271;
  points(0, 246) = 0.83311849215778577271;
  points(1, 246) = 0.0028307718211817703077;
  points(0, 247) = 0.1640507360210326504;
  points(1, 247) = 0.83311849215778577271;
  points(0, 248) = 0.0028307718211816185194;
  points(1, 248) = 0.16405073602103284469;
  points(0, 249) = 0.28815111741898857822;
  points(1, 249) = 0.0028359467965889629745;
  points(0, 250) = 0.70901293578442248222;
  points(1, 250) = 0.28815111741898857822;
  points(0, 251) = 0.0028359467965889950669;
  points(1, 251) = 0.70901293578442270427;
  points(0, 252) = 0.70901293578442248222;
  points(1, 252) = 0.0028359467965889629745;
  points(0, 253) = 0.28815111741898852271;
  points(1, 253) = 0.70901293578442270427;
  points(0, 254) = 0.0028359467965888285335;
  points(1, 254) = 0.28815111741898880027;
  points(0, 255) = 0.34095778887406152924;
  points(1, 255) = 0.1056326862781779008;
  points(0, 256) = 0.55340952484776062548;
  points(1, 256) = 0.34095778887406164026;
  points(0, 257) = 0.10563268627817784528;
  points(1, 257) = 0.5534095248477607365;
  points(0, 258) = 0.55340952484776062548;
  points(1, 258) = 0.1056326862781779008;
  points(0, 259) = 0.34095778887406158475;
  points(1, 259) = 0.55340952484776062548;
  points(0, 260) = 0.10563268627817778977;
  points(1, 260) = 0.34095778887406180679;
  points(0, 261) = 0.26829344806928390188;
  points(1, 261) = 0.20540889578274673655;
  points(0, 262) = 0.52629765614796941708;
  points(1, 262) = 0.26829344806928395739;
  points(0, 263) = 0.20540889578274668104;
  points(1, 263) = 0.52629765614796952811;
  points(0, 264) = 0.52629765614796941708;
  points(1, 264) = 0.20540889578274673655;
  points(0, 265) = 0.26829344806928390188;
  points(1, 265) = 0.52629765614796952811;
  points(0, 266) = 0.20540889578274657001;
  points(1, 266) = 0.26829344806928412392;
  points(0, 267) = 0.31940900352832468645;
  points(1, 267) = 0.06747863106792632848;
  points(0, 268) = 0.6131123654037490267;
  points(1, 268) = 0.31940900352832474196;
  points(0, 269) = 0.067478631067926286846;
  points(1, 269) = 0.61311236540374924875;
  points(0, 270) = 0.6131123654037490267;
  points(1, 270) = 0.06747863106792632848;
  points(0, 271) = 0.31940900352832468645;
  points(1, 271) = 0.61311236540374913773;
  points(0, 272) = 0.067478631067926231335;
  points(1, 272) = 0.31940900352832490849;
  points(0, 273) = 0.19229546518595228011;
  points(1, 273) = 0.01493310736295157086;
  points(0, 274) = 0.79277142745109607791;
  points(1, 274) = 0.19229546518595230786;
  points(0, 275) = 0.014933107362951558716;
  points(1, 275) = 0.79277142745109641098;
  points(0, 276) = 0.79277142745109618893;
  points(1, 276) = 0.01493310736295157086;
  points(0, 277) = 0.19229546518595236337;
  points(1, 277) = 0.79277142745109629995;
  points(0, 278) = 0.014933107362951433816;
  points(1, 278) = 0.19229546518595255766;
  points(0, 279) = 0.16041405340292361204;
  points(1, 279) = 0.035385293405442670711;
  points(0, 280) = 0.80420065319163369644;
  points(1, 280) = 0.16041405340292358428;
  points(0, 281) = 0.035385293405442774795;
  points(1, 281) = 0.80420065319163380746;
  points(0, 282) = 0.80420065319163380746;
  points(1, 282) = 0.035385293405442670711;
  points(0, 283) = 0.16041405340292375081;
  points(1, 283) = 0.80420065319163380746;
  points(0, 284) = 0.035385293405442455605;
  points(1, 284) = 0.16041405340292388959;
  points(0, 285) = 0.22125349898042173669;
  points(1, 285) = 0.036251995833857728058;
  points(0, 286) = 0.74249450518572046587;
  points(1, 286) = 0.22125349898042176444;
  points(0, 287) = 0.036251995833857852958;
  points(1, 287) = 0.74249450518572057689;
  points(0, 288) = 0.74249450518572057689;
  points(1, 288) = 0.036251995833857728058;
  points(0, 289) = 0.2212534989804217922;
  points(1, 289) = 0.74249450518572057689;
  points(0, 290) = 0.036251995833857547646;
  points(1, 290) = 0.22125349898042206975;
  points(0, 291) = 0.2711942240688135497;
  points(1, 291) = 0.10659969697303738057;
  points(0, 292) = 0.62220607895814916688;
  points(1, 292) = 0.2711942240688135497;
  points(0, 293) = 0.10659969697303728342;
  points(1, 293) = 0.62220607895814938892;
  points(0, 294) = 0.62220607895814905586;
  points(1, 294) = 0.10659969697303738057;
  points(0, 295) = 0.27119422406881366072;
  points(1, 295) = 0.62220607895814916688;
  points(0, 296) = 0.1065996969730371724;
  points(1, 296) = 0.27119422406881377174;
  points(0, 297) = 0.39232341129977038596;
  points(1, 297) = 0.066569707653674620174;
  points(0, 298) = 0.54110688104655502162;
  points(1, 298) = 0.39232341129977044147;
  points(0, 299) = 0.066569707653674536907;
  points(1, 299) = 0.54110688104655524366;
  points(0, 300) = 0.54110688104655502162;
  points(1, 300) = 0.066569707653674620174;
  points(0, 301) = 0.39232341129977033045;
  points(1, 301) = 0.54110688104655513264;
  points(0, 302) = 0.066569707653674509151;
  points(1, 302) = 0.39232341129977060801;
  points(0, 303) = 0.46676105778551496561;
  points(1, 303) = 0.066477884428970110409;
  points(0, 304) = 0.46676105778551502112;
  points(1, 304) = 0.46676105778551502112;
  points(0, 305) = 0.06647788442897004102;
  points(1, 305) = 0.46676105778551518766;
  points(0, 306) = 0.1030954855760304878;
  points(1, 306) = 0.10309548557603076535;
  points(0, 307) = 0.79380902884793880236;
  points(1, 307) = 0.10309548557603047392;
  points(0, 308) = 0.10309548557603087637;
  points(1, 308) = 0.79380902884793891339;

  weights(0) = 2.610466156275799139e-05;
  weights(1) = 2.610466156275799139e-05;
  weights(2) = 2.610466156275799139e-05;
  weights(3) = 0.0032216348354413533797;
  weights(4) = 0.0032216348354413533797;
  weights(5) = 0.0032216348354413533797;
  weights(6) = 0.0028231018862523086892;
  weights(7) = 0.0028231018862523086892;
  weights(8) = 0.0028231018862523086892;
  weights(9) = 0.00047331699822645006016;
  weights(10) = 0.00047331699822645006016;
  weights(11) = 0.00047331699822645006016;
  weights(12) = 0.00047331699822645006016;
  weights(13) = 0.00047331699822645006016;
  weights(14) = 0.00047331699822645006016;
  weights(15) = 0.0005389191646935420155;
  weights(16) = 0.0005389191646935420155;
  weights(17) = 0.0005389191646935420155;
  weights(18) = 0.0005389191646935420155;
  weights(19) = 0.0005389191646935420155;
  weights(20) = 0.0005389191646935420155;
  weights(21) = 0.0002767757031523198903;
  weights(22) = 0.0002767757031523198903;
  weights(23) = 0.0002767757031523198903;
  weights(24) = 0.0002767757031523198903;
  weights(25) = 0.0002767757031523198903;
  weights(26) = 0.0002767757031523198903;
  weights(27) = 0.0018723604576399853656;
  weights(28) = 0.0018723604576399853656;
  weights(29) = 0.0018723604576399853656;
  weights(30) = 0.0018723604576399853656;
  weights(31) = 0.0018723604576399853656;
  weights(32) = 0.0018723604576399853656;
  weights(33) = 0.0020368696048111800505;
  weights(34) = 0.0020368696048111800505;
  weights(35) = 0.0020368696048111800505;
  weights(36) = 0.0020368696048111800505;
  weights(37) = 0.0020368696048111800505;
  weights(38) = 0.0020368696048111800505;
  weights(39) = 0.0014875534123711879435;
  weights(40) = 0.0014875534123711879435;
  weights(41) = 0.0014875534123711879435;
  weights(42) = 0.00089437728533231411043;
  weights(43) = 0.00089437728533231411043;
  weights(44) = 0.00089437728533231411043;
  weights(45) = 0.00089437728533231411043;
  weights(46) = 0.00089437728533231411043;
  weights(47) = 0.00089437728533231411043;
  weights(48) = 0.00051571236907173518063;
  weights(49) = 0.00051571236907173518063;
  weights(50) = 0.00051571236907173518063;
  weights(51) = 0.00051571236907173518063;
  weights(52) = 0.00051571236907173518063;
  weights(53) = 0.00051571236907173518063;
  weights(54) = 0.0012661036341635330781;
  weights(55) = 0.0012661036341635330781;
  weights(56) = 0.0012661036341635330781;
  weights(57) = 0.0012661036341635330781;
  weights(58) = 0.0012661036341635330781;
  weights(59) = 0.0012661036341635330781;
  weights(60) = 0.0011262392789623187558;
  weights(61) = 0.0011262392789623187558;
  weights(62) = 0.0011262392789623187558;
  weights(63) = 0.0011262392789623187558;
  weights(64) = 0.0011262392789623187558;
  weights(65) = 0.0011262392789623187558;
  weights(66) = 0.00014091875423297031775;
  weights(67) = 0.00014091875423297031775;
  weights(68) = 0.00014091875423297031775;
  weights(69) = 0.00014091875423297031775;
  weights(70) = 0.00014091875423297031775;
  weights(71) = 0.00014091875423297031775;
  weights(72) = 0.0030546865348241108128;
  weights(73) = 0.0030546865348241108128;
  weights(74) = 0.0030546865348241108128;
  weights(75) = 0.0030546865348241108128;
  weights(76) = 0.0030546865348241108128;
  weights(77) = 0.0030546865348241108128;
  weights(78) = 0.0021224778885555982411;
  weights(79) = 0.0021224778885555982411;
  weights(80) = 0.0021224778885555982411;
  weights(81) = 0.0016544856076511783166;
  weights(82) = 0.0016544856076511783166;
  weights(83) = 0.0016544856076511783166;
  weights(84) = 0.0016544856076511783166;
  weights(85) = 0.0016544856076511783166;
  weights(86) = 0.0016544856076511783166;
  weights(87) = 0.00037517018705029943132;
  weights(88) = 0.00037517018705029943132;
  weights(89) = 0.00037517018705029943132;
  weights(90) = 0.00037517018705029943132;
  weights(91) = 0.00037517018705029943132;
  weights(92) = 0.00037517018705029943132;
  weights(93) = 0.0025181258544881945753;
  weights(94) = 0.0025181258544881945753;
  weights(95) = 0.0025181258544881945753;
  weights(96) = 0.0030050502385811218679;
  weights(97) = 0.0030050502385811218679;
  weights(98) = 0.0030050502385811218679;
  weights(99) = 0.0031118296166047893468;
  weights(100) = 0.0031118296166047893468;
  weights(101) = 0.0031118296166047893468;
  weights(102) = 0.0031118296166047893468;
  weights(103) = 0.0031118296166047893468;
  weights(104) = 0.0031118296166047893468;
  weights(105) = 0.0030386144984886837364;
  weights(106) = 0.0030386144984886837364;
  weights(107) = 0.0030386144984886837364;
  weights(108) = 0.00024521043550716488217;
  weights(109) = 0.00024521043550716488217;
  weights(110) = 0.00024521043550716488217;
  weights(111) = 0.00024521043550716488217;
  weights(112) = 0.00024521043550716488217;
  weights(113) = 0.00024521043550716488217;
  weights(114) = 0.0029453221328521188467;
  weights(115) = 0.0029453221328521188467;
  weights(116) = 0.0029453221328521188467;
  weights(117) = 0.0029453221328521188467;
  weights(118) = 0.0029453221328521188467;
  weights(119) = 0.0029453221328521188467;
  weights(120) = 0.0031190600595570041817;
  weights(121) = 0.0031190600595570041817;
  weights(122) = 0.0031190600595570041817;
  weights(123) = 0.0031190600595570041817;
  weights(124) = 0.0031190600595570041817;
  weights(125) = 0.0031190600595570041817;
  weights(126) = 0.00029445909406406687312;
  weights(127) = 0.00029445909406406687312;
  weights(128) = 0.00029445909406406687312;
  weights(129) = 0.00029445909406406687312;
  weights(130) = 0.00029445909406406687312;
  weights(131) = 0.00029445909406406687312;
  weights(132) = 0.00011952578090238456354;
  weights(133) = 0.00011952578090238456354;
  weights(134) = 0.00011952578090238456354;
  weights(135) = 0.00011952578090238456354;
  weights(136) = 0.00011952578090238456354;
  weights(137) = 0.00011952578090238456354;
  weights(138) = 0.0011690668799345606179;
  weights(139) = 0.0011690668799345606179;
  weights(140) = 0.0011690668799345606179;
  weights(141) = 0.0011690668799345606179;
  weights(142) = 0.0011690668799345606179;
  weights(143) = 0.0011690668799345606179;
  weights(144) = 0.0005227164853878038444;
  weights(145) = 0.0005227164853878038444;
  weights(146) = 0.0005227164853878038444;
  weights(147) = 0.0005227164853878038444;
  weights(148) = 0.0005227164853878038444;
  weights(149) = 0.0005227164853878038444;
  weights(150) = 0.0033835701042112384038;
  weights(151) = 0.0033835701042112384038;
  weights(152) = 0.0033835701042112384038;
  weights(153) = 0.0029950945601547804276;
  weights(154) = 0.0029950945601547804276;
  weights(155) = 0.0029950945601547804276;
  weights(156) = 0.0029950945601547804276;
  weights(157) = 0.0029950945601547804276;
  weights(158) = 0.0029950945601547804276;
  weights(159) = 0.00051181998515021709991;
  weights(160) = 0.00051181998515021709991;
  weights(161) = 0.00051181998515021709991;
  weights(162) = 0.0011441247936306267637;
  weights(163) = 0.0011441247936306267637;
  weights(164) = 0.0011441247936306267637;
  weights(165) = 0.0011441247936306267637;
  weights(166) = 0.0011441247936306267637;
  weights(167) = 0.0011441247936306267637;
  weights(168) = 0.001805243528277922704;
  weights(169) = 0.001805243528277922704;
  weights(170) = 0.001805243528277922704;
  weights(171) = 0.001805243528277922704;
  weights(172) = 0.001805243528277922704;
  weights(173) = 0.001805243528277922704;
  weights(174) = 0.0035293289042750844789;
  weights(175) = 0.0035293289042750844789;
  weights(176) = 0.0035293289042750844789;
  weights(177) = 0.0035293289042750844789;
  weights(178) = 0.0035293289042750844789;
  weights(179) = 0.0035293289042750844789;
  weights(180) = 0.0021892762868513794376;
  weights(181) = 0.0021892762868513794376;
  weights(182) = 0.0021892762868513794376;
  weights(183) = 0.0021892762868513794376;
  weights(184) = 0.0021892762868513794376;
  weights(185) = 0.0021892762868513794376;
  weights(186) = 0.0005085691794751544129;
  weights(187) = 0.0005085691794751544129;
  weights(188) = 0.0005085691794751544129;
  weights(189) = 0.0005085691794751544129;
  weights(190) = 0.0005085691794751544129;
  weights(191) = 0.0005085691794751544129;
  weights(192) = 0.0017277422623602309727;
  weights(193) = 0.0017277422623602309727;
  weights(194) = 0.0017277422623602309727;
  weights(195) = 0.0017277422623602309727;
  weights(196) = 0.0017277422623602309727;
  weights(197) = 0.0017277422623602309727;
  weights(198) = 0.00083130962078859708779;
  weights(199) = 0.00083130962078859708779;
  weights(200) = 0.00083130962078859708779;
  weights(201) = 0.00083130962078859708779;
  weights(202) = 0.00083130962078859708779;
  weights(203) = 0.00083130962078859708779;
  weights(204) = 0.0016755853266343500446;
  weights(205) = 0.0016755853266343500446;
  weights(206) = 0.0016755853266343500446;
  weights(207) = 0.0016755853266343500446;
  weights(208) = 0.0016755853266343500446;
  weights(209) = 0.0016755853266343500446;
  weights(210) = 0.0011932823252664458754;
  weights(211) = 0.0011932823252664458754;
  weights(212) = 0.0011932823252664458754;
  weights(213) = 0.0011932823252664458754;
  weights(214) = 0.0011932823252664458754;
  weights(215) = 0.0011932823252664458754;
  weights(216) = 0.0020876894965844222316;
  weights(217) = 0.0020876894965844222316;
  weights(218) = 0.0020876894965844222316;
  weights(219) = 0.0020876894965844222316;
  weights(220) = 0.0020876894965844222316;
  weights(221) = 0.0020876894965844222316;
  weights(222) = 0.001935560744271319503;
  weights(223) = 0.001935560744271319503;
  weights(224) = 0.001935560744271319503;
  weights(225) = 0.001935560744271319503;
  weights(226) = 0.001935560744271319503;
  weights(227) = 0.001935560744271319503;
  weights(228) = 0.0010961695980219480703;
  weights(229) = 0.0010961695980219480703;
  weights(230) = 0.0010961695980219480703;
  weights(231) = 0.0010961695980219480703;
  weights(232) = 0.0010961695980219480703;
  weights(233) = 0.0010961695980219480703;
  weights(234) = 0.00045636616826076061796;
  weights(235) = 0.00045636616826076061796;
  weights(236) = 0.00045636616826076061796;
  weights(237) = 0.00045636616826076061796;
  weights(238) = 0.00045636616826076061796;
  weights(239) = 0.00045636616826076061796;
  weights(240) = 0.0036150548664758510621;
  weights(241) = 0.0036150548664758510621;
  weights(242) = 0.0036150548664758510621;
  weights(243) = 0.00040141732630767559126;
  weights(244) = 0.00040141732630767559126;
  weights(245) = 0.00040141732630767559126;
  weights(246) = 0.00040141732630767559126;
  weights(247) = 0.00040141732630767559126;
  weights(248) = 0.00040141732630767559126;
  weights(249) = 0.00048967980078931227367;
  weights(250) = 0.00048967980078931227367;
  weights(251) = 0.00048967980078931227367;
  weights(252) = 0.00048967980078931227367;
  weights(253) = 0.00048967980078931227367;
  weights(254) = 0.00048967980078931227367;
  weights(255) = 0.0029775433804440395828;
  weights(256) = 0.0029775433804440395828;
  weights(257) = 0.0029775433804440395828;
  weights(258) = 0.0029775433804440395828;
  weights(259) = 0.0029775433804440395828;
  weights(260) = 0.0029775433804440395828;
  weights(261) = 0.0033762576693587712309;
  weights(262) = 0.0033762576693587712309;
  weights(263) = 0.0033762576693587712309;
  weights(264) = 0.0033762576693587712309;
  weights(265) = 0.0033762576693587712309;
  weights(266) = 0.0033762576693587712309;
  weights(267) = 0.0024663373041229471813;
  weights(268) = 0.0024663373041229471813;
  weights(269) = 0.0024663373041229471813;
  weights(270) = 0.0024663373041229471813;
  weights(271) = 0.0024663373041229471813;
  weights(272) = 0.0024663373041229471813;
  weights(273) = 0.00099975856182200678254;
  weights(274) = 0.00099975856182200678254;
  weights(275) = 0.00099975856182200678254;
  weights(276) = 0.00099975856182200678254;
  weights(277) = 0.00099975856182200678254;
  weights(278) = 0.00099975856182200678254;
  weights(279) = 0.0014290849464137569957;
  weights(280) = 0.0014290849464137569957;
  weights(281) = 0.0014290849464137569957;
  weights(282) = 0.0014290849464137569957;
  weights(283) = 0.0014290849464137569957;
  weights(284) = 0.0014290849464137569957;
  weights(285) = 0.0016286914747247111836;
  weights(286) = 0.0016286914747247111836;
  weights(287) = 0.0016286914747247111836;
  weights(288) = 0.0016286914747247111836;
  weights(289) = 0.0016286914747247111836;
  weights(290) = 0.0016286914747247111836;
  weights(291) = 0.0029361408291862646329;
  weights(292) = 0.0029361408291862646329;
  weights(293) = 0.0029361408291862646329;
  weights(294) = 0.0029361408291862646329;
  weights(295) = 0.0029361408291862646329;
  weights(296) = 0.0029361408291862646329;
  weights(297) = 0.0025475392237502632493;
  weights(298) = 0.0025475392237502632493;
  weights(299) = 0.0025475392237502632493;
  weights(300) = 0.0025475392237502632493;
  weights(301) = 0.0025475392237502632493;
  weights(302) = 0.0025475392237502632493;
  weights(303) = 0.0025669351626192247334;
  weights(304) = 0.0025669351626192247334;
  weights(305) = 0.0025669351626192247334;
  weights(306) = 0.0019847845196798072874;
  weights(307) = 0.0019847845196798072874;
  weights(308) = 0.0019847845196798072874;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 41);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 42>() { // NOLINT
  Eigen::MatrixXd points(2, 324);
  Eigen::VectorXd weights(324);

  points(0, 0) = 0.40237192510979324922;
  points(1, 0) = 0.19525614978041350156;
  points(0, 1) = 0.40237192510979324922;
  points(1, 1) = 0.40237192510979341575;
  points(0, 2) = 0.19525614978041339054;
  points(1, 2) = 0.40237192510979347126;
  points(0, 3) = 0.0013653925759540403145;
  points(1, 3) = 0.0013653925759543350006;
  points(0, 4) = 0.99726921484809161189;
  points(1, 4) = 0.0013653925759540145105;
  points(0, 5) = 0.0013653925759544160989;
  points(1, 5) = 0.99726921484809183394;
  points(0, 6) = 0.33055385368435313831;
  points(1, 6) = 0.0015704256014629062489;
  points(0, 7) = 0.66787572071418388475;
  points(1, 7) = 0.33055385368435324933;
  points(0, 8) = 0.0015704256014628659166;
  points(1, 8) = 0.66787572071418421782;
  points(0, 9) = 0.66787572071418399577;
  points(1, 9) = 0.0015704256014629062489;
  points(0, 10) = 0.33055385368435324933;
  points(1, 10) = 0.66787572071418399577;
  points(0, 11) = 0.0015704256014627548943;
  points(1, 11) = 0.33055385368435352689;
  points(0, 12) = 0.4975317296252053656;
  points(1, 12) = 0.004936540749589316511;
  points(0, 13) = 0.4975317296252053656;
  points(1, 13) = 0.49753172962520542111;
  points(0, 14) = 0.0049365407495892410505;
  points(1, 14) = 0.49753172962520558764;
  points(0, 15) = 0.96995396514668319465;
  points(1, 15) = 0.0096146691207100905274;
  points(0, 16) = 0.020431365732606676655;
  points(1, 16) = 0.9699539651466834167;
  points(0, 17) = 0.0096146691207098945037;
  points(1, 17) = 0.020431365732606978497;
  points(0, 18) = 0.020431365732606669716;
  points(1, 18) = 0.0096146691207100905274;
  points(0, 19) = 0.96995396514668319465;
  points(1, 19) = 0.020431365732606593388;
  points(0, 20) = 0.0096146691207102397136;
  points(1, 20) = 0.9699539651466834167;
  points(0, 21) = 0.057198306193975680112;
  points(1, 21) = 0.021903558615629356576;
  points(0, 22) = 0.92089813519039498413;
  points(1, 22) = 0.057198306193975666234;
  points(0, 23) = 0.021903558615629425965;
  points(1, 23) = 0.92089813519039520617;
  points(0, 24) = 0.92089813519039498413;
  points(1, 24) = 0.021903558615629356576;
  points(0, 25) = 0.05719830619397575644;
  points(1, 25) = 0.92089813519039520617;
  points(0, 26) = 0.021903558615629117184;
  points(1, 26) = 0.057198306193975985423;
  points(0, 27) = 0.47990029575441911502;
  points(1, 27) = 0.040199408491161749135;
  points(0, 28) = 0.47990029575441917054;
  points(1, 28) = 0.47990029575441917054;
  points(0, 29) = 0.040199408491161686685;
  points(1, 29) = 0.47990029575441933707;
  points(0, 30) = 0.066466329055783590629;
  points(1, 30) = 0.066466329055783882063;
  points(0, 31) = 0.86706734188843248567;
  points(1, 31) = 0.066466329055783604507;
  points(0, 32) = 0.066466329055783868185;
  points(1, 32) = 0.86706734188843270772;
  points(0, 33) = 0.45327097163794560775;
  points(1, 33) = 0.001493551290290986858;
  points(0, 34) = 0.54523547707176345245;
  points(1, 34) = 0.45327097163794566326;
  points(0, 35) = 0.0014935512902908842925;
  points(1, 35) = 0.54523547707176367449;
  points(0, 36) = 0.54523547707176345245;
  points(1, 36) = 0.001493551290290986858;
  points(0, 37) = 0.45327097163794560775;
  points(1, 37) = 0.54523547707176356347;
  points(0, 38) = 0.0014935512902908842925;
  points(1, 38) = 0.45327097163794582979;
  points(0, 39) = 0.14073247390672033452;
  points(1, 39) = 0.055441499674364541628;
  points(0, 40) = 0.80382602641891509609;
  points(1, 40) = 0.14073247390672033452;
  points(0, 41) = 0.055441499674364569383;
  points(1, 41) = 0.80382602641891531814;
  points(0, 42) = 0.80382602641891509609;
  points(1, 42) = 0.055441499674364541628;
  points(0, 43) = 0.14073247390672033452;
  points(1, 43) = 0.80382602641891531814;
  points(0, 44) = 0.055441499674364333461;
  points(1, 44) = 0.14073247390672063983;
  points(0, 45) = 0.18378863030194103612;
  points(1, 45) = 0.118693569421395001;
  points(0, 46) = 0.69751780027666399064;
  points(1, 46) = 0.18378863030194103612;
  points(0, 47) = 0.11869356942139508426;
  points(1, 47) = 0.69751780027666410167;
  points(0, 48) = 0.69751780027666387962;
  points(1, 48) = 0.118693569421395001;
  points(0, 49) = 0.18378863030194109163;
  points(1, 49) = 0.69751780027666410167;
  points(0, 50) = 0.11869356942139479283;
  points(1, 50) = 0.18378863030194128592;
  points(0, 51) = 0.043236389387745995105;
  points(1, 51) = 0.043236389387746307356;
  points(0, 52) = 0.91352722122450757958;
  points(1, 52) = 0.043236389387745988167;
  points(0, 53) = 0.043236389387746432256;
  points(1, 53) = 0.91352722122450780162;
  points(0, 54) = 0.032112152486877834634;
  points(1, 54) = 0.0013930572171861558411;
  points(0, 55) = 0.96649479029593587942;
  points(1, 55) = 0.032112152486877834634;
  points(0, 56) = 0.0013930572171864108455;
  points(1, 56) = 0.96649479029593599044;
  points(0, 57) = 0.96649479029593610147;
  points(1, 57) = 0.0013930572171861558411;
  points(0, 58) = 0.032112152486878042801;
  points(1, 58) = 0.96649479029593599044;
  points(0, 59) = 0.0013930572171858800201;
  points(1, 59) = 0.032112152486878216273;
  points(0, 60) = 0.4903050142016466828;
  points(1, 60) = 0.019389971596706662149;
  points(0, 61) = 0.49030501420164673831;
  points(1, 61) = 0.4903050142016466828;
  points(0, 62) = 0.019389971596706606638;
  points(1, 62) = 0.49030501420164690485;
  points(0, 63) = 0.042964072200676148294;
  points(1, 63) = 0.010299475181841410629;
  points(0, 64) = 0.94673645261748240465;
  points(1, 64) = 0.042964072200676071966;
  points(0, 65) = 0.010299475181841599714;
  points(1, 65) = 0.94673645261748262669;
  points(0, 66) = 0.94673645261748240465;
  points(1, 66) = 0.010299475181841410629;
  points(0, 67) = 0.042964072200676217683;
  points(1, 67) = 0.94673645261748262669;
  points(0, 68) = 0.010299475181841113991;
  points(1, 68) = 0.042964072200676522995;
  points(0, 69) = 0.010524842730074883759;
  points(1, 69) = 0.0025847099922881836172;
  points(0, 70) = 0.98689044727763697296;
  points(1, 70) = 0.010524842730074868147;
  points(0, 71) = 0.0025847099922882699197;
  points(1, 71) = 0.98689044727763708398;
  points(0, 72) = 0.98689044727763697296;
  points(1, 72) = 0.0025847099922881836172;
  points(0, 73) = 0.010524842730074979169;
  points(1, 73) = 0.98689044727763708398;
  points(0, 74) = 0.0025847099922878605249;
  points(1, 74) = 0.010524842730075187336;
  points(0, 75) = 0.075379028562970296079;
  points(1, 75) = 0.039474312716157651526;
  points(0, 76) = 0.88514665872087205933;
  points(1, 76) = 0.075379028562970282201;
  points(0, 77) = 0.039474312716157700098;
  points(1, 77) = 0.88514665872087217036;
  points(0, 78) = 0.88514665872087205933;
  points(1, 78) = 0.039474312716157651526;
  points(0, 79) = 0.07537902856297035159;
  points(1, 79) = 0.88514665872087217036;
  points(0, 80) = 0.039474312716157422543;
  points(1, 80) = 0.075379028562970629146;
  points(0, 81) = 0.43633336208995598948;
  points(1, 81) = 0.012293838524552529526;
  points(0, 82) = 0.55137279938549144109;
  points(1, 82) = 0.43633336208995604499;
  points(0, 83) = 0.012293838524552513913;
  points(1, 83) = 0.55137279938549166314;
  points(0, 84) = 0.55137279938549144109;
  points(1, 84) = 0.012293838524552529526;
  points(0, 85) = 0.43633336208995598948;
  points(1, 85) = 0.55137279938549155212;
  points(0, 86) = 0.012293838524552402891;
  points(1, 86) = 0.43633336208995632255;
  points(0, 87) = 0.2704907465149769541;
  points(1, 87) = 0.002589809247845687324;
  points(0, 88) = 0.72691944423717735901;
  points(1, 88) = 0.2704907465149769541;
  points(0, 89) = 0.0025898092478456868903;
  points(1, 89) = 0.72691944423717758106;
  points(0, 90) = 0.72691944423717724799;
  points(1, 90) = 0.002589809247845687324;
  points(0, 91) = 0.2704907465149769541;
  points(1, 91) = 0.72691944423717758106;
  points(0, 92) = 0.0025898092478454648457;
  points(1, 92) = 0.27049074651497728716;
  points(0, 93) = 0.35081364338109738421;
  points(1, 93) = 0.03755638887229686973;
  points(0, 94) = 0.61162996774660582933;
  points(1, 94) = 0.35081364338109738421;
  points(0, 95) = 0.037556388872296786463;
  points(1, 95) = 0.61162996774660605137;
  points(0, 96) = 0.6116299677466057183;
  points(1, 96) = 0.03755638887229686973;
  points(0, 97) = 0.35081364338109738421;
  points(1, 97) = 0.61162996774660582933;
  points(0, 98) = 0.037556388872296758707;
  points(1, 98) = 0.35081364338109760626;
  points(0, 99) = 0.3727655119742921408;
  points(1, 99) = 0.017094546720707339688;
  points(0, 100) = 0.61013994130500059931;
  points(1, 100) = 0.3727655119742921408;
  points(0, 101) = 0.017094546720707315401;
  points(1, 101) = 0.61013994130500071034;
  points(0, 102) = 0.61013994130500059931;
  points(1, 102) = 0.017094546720707339688;
  points(0, 103) = 0.3727655119742921408;
  points(1, 103) = 0.61013994130500071034;
  points(0, 104) = 0.017094546720707176624;
  points(1, 104) = 0.37276551197429236284;
  points(0, 105) = 0.21710735226334154646;
  points(1, 105) = 0.085758316294315878325;
  points(0, 106) = 0.69713433144234260297;
  points(1, 106) = 0.21710735226334157422;
  points(0, 107) = 0.08575831629431585057;
  points(1, 107) = 0.69713433144234282501;
  points(0, 108) = 0.69713433144234260297;
  points(1, 108) = 0.085758316294315878325;
  points(0, 109) = 0.21710735226334154646;
  points(1, 109) = 0.69713433144234282501;
  points(0, 110) = 0.085758316294315711792;
  points(1, 110) = 0.21710735226334182402;
  points(0, 111) = 0.1927563650090058367;
  points(1, 111) = 0.057985644964114395339;
  points(0, 112) = 0.74925799002687976103;
  points(1, 112) = 0.19275636500900586445;
  points(0, 113) = 0.057985644964114457789;
  points(1, 113) = 0.74925799002687987205;
  points(0, 114) = 0.74925799002687976103;
  points(1, 114) = 0.057985644964114395339;
  points(0, 115) = 0.19275636500900594772;
  points(1, 115) = 0.74925799002687987205;
  points(0, 116) = 0.057985644964114194111;
  points(1, 116) = 0.19275636500900614201;
  points(0, 117) = 0.42068503068641627252;
  points(1, 117) = 0.033848172882990315569;
  points(0, 118) = 0.5454667964305934813;
  points(1, 118) = 0.42068503068641632803;
  points(0, 119) = 0.033848172882990301691;
  points(1, 119) = 0.54546679643059359233;
  points(0, 120) = 0.5454667964305934813;
  points(1, 120) = 0.033848172882990315569;
  points(0, 121) = 0.42068503068641621701;
  points(1, 121) = 0.54546679643059359233;
  points(0, 122) = 0.03384817288299024618;
  points(1, 122) = 0.42068503068641649456;
  points(0, 123) = 0.026998822628372998178;
  points(1, 123) = 0.026998822628373275734;
  points(0, 124) = 0.94600235474325367058;
  points(1, 124) = 0.026998822628372956545;
  points(0, 125) = 0.026998822628373442267;
  points(1, 125) = 0.9460023547432537816;
  points(0, 126) = 0.21248518543709105089;
  points(1, 126) = 0.0025266913852086481454;
  points(0, 127) = 0.78498812317770028102;
  points(1, 127) = 0.21248518543709107864;
  points(0, 128) = 0.0025266913852086680947;
  points(1, 128) = 0.78498812317770050306;
  points(0, 129) = 0.78498812317770028102;
  points(1, 129) = 0.0025266913852086481454;
  points(0, 130) = 0.21248518543709105089;
  points(1, 130) = 0.78498812317770050306;
  points(0, 131) = 0.0025266913852084876835;
  points(1, 131) = 0.21248518543709130069;
  points(0, 132) = 0.31925720872918733617;
  points(1, 132) = 0.010656542115527637554;
  points(0, 133) = 0.67008624915528491872;
  points(1, 133) = 0.31925720872918739168;
  points(0, 134) = 0.010656542115527634085;
  points(1, 134) = 0.67008624915528525179;
  points(0, 135) = 0.67008624915528502974;
  points(1, 135) = 0.010656542115527637554;
  points(0, 136) = 0.31925720872918744719;
  points(1, 136) = 0.67008624915528514077;
  points(0, 137) = 0.010656542115527495307;
  points(1, 137) = 0.31925720872918766924;
  points(0, 138) = 0.1385048069103227697;
  points(1, 138) = 0.1385048069103230195;
  points(0, 139) = 0.72299038617935418305;
  points(1, 139) = 0.13850480691032279745;
  points(0, 140) = 0.13850480691032313052;
  points(1, 140) = 0.72299038617935418305;
  points(0, 141) = 0.46701320735576395959;
  points(1, 141) = 0.065973585288472080812;
  points(0, 142) = 0.46701320735576401511;
  points(1, 142) = 0.46701320735576407062;
  points(0, 143) = 0.065973585288471997545;
  points(1, 143) = 0.46701320735576418164;
  points(0, 144) = 0.25163823551257258337;
  points(1, 144) = 0.013429673242258530555;
  points(0, 145) = 0.73493209124516889474;
  points(1, 145) = 0.25163823551257263889;
  points(0, 146) = 0.013429673242258577393;
  points(1, 146) = 0.73493209124516900577;
  points(0, 147) = 0.73493209124516889474;
  points(1, 147) = 0.013429673242258530555;
  points(0, 148) = 0.2516382355125726944;
  points(1, 148) = 0.73493209124516889474;
  points(0, 149) = 0.013429673242258299837;
  points(1, 149) = 0.25163823551257291644;
  points(0, 150) = 0.15221198145680936431;
  points(1, 150) = 0.088341778293265074695;
  points(0, 151) = 0.75944624024992557487;
  points(1, 151) = 0.15221198145680939207;
  points(0, 152) = 0.088341778293265116329;
  points(1, 152) = 0.75944624024992568589;
  points(0, 153) = 0.75944624024992557487;
  points(1, 153) = 0.088341778293265074695;
  points(0, 154) = 0.15221198145680936431;
  points(1, 154) = 0.75944624024992579692;
  points(0, 155) = 0.088341778293264824895;
  points(1, 155) = 0.15221198145680961411;
  points(0, 156) = 0.1111420947940332804;
  points(1, 156) = 0.032922118211160804335;
  points(0, 157) = 0.85593578699480588057;
  points(1, 157) = 0.11114209479403330816;
  points(0, 158) = 0.032922118211160922296;
  points(1, 158) = 0.85593578699480599159;
  points(0, 159) = 0.85593578699480599159;
  points(1, 159) = 0.032922118211160804335;
  points(0, 160) = 0.11114209479403341918;
  points(1, 160) = 0.85593578699480599159;
  points(0, 161) = 0.032922118211160568413;
  points(1, 161) = 0.11114209479403362735;
  points(0, 162) = 0.35815005885125028584;
  points(1, 162) = 0.19480076077732771944;
  points(0, 163) = 0.44704918037142205023;
  points(1, 163) = 0.35815005885125034135;
  points(0, 164) = 0.19480076077732758066;
  points(1, 164) = 0.44704918037142221676;
  points(0, 165) = 0.44704918037142205023;
  points(1, 165) = 0.19480076077732771944;
  points(0, 166) = 0.35815005885125028584;
  points(1, 166) = 0.44704918037142210574;
  points(0, 167) = 0.19480076077732758066;
  points(1, 167) = 0.35815005885125045237;
  points(0, 168) = 0.16379985695615006946;
  points(1, 168) = 0.031461015961891797277;
  points(0, 169) = 0.80473912708195816101;
  points(1, 169) = 0.16379985695615006946;
  points(0, 170) = 0.031461015961891880544;
  points(1, 170) = 0.80473912708195827204;
  points(0, 171) = 0.80473912708195816101;
  points(1, 171) = 0.031461015961891797277;
  points(0, 172) = 0.16379985695615012498;
  points(1, 172) = 0.80473912708195827204;
  points(0, 173) = 0.031461015961891561354;
  points(1, 173) = 0.16379985695615037478;
  points(0, 174) = 0.10211277333667431733;
  points(1, 174) = 0.067368310164525879724;
  points(0, 175) = 0.83051891649879983071;
  points(1, 175) = 0.10211277333667431733;
  points(0, 176) = 0.067368310164525990746;
  points(1, 176) = 0.83051891649879994173;
  points(0, 177) = 0.83051891649879971968;
  points(1, 177) = 0.067368310164525879724;
  points(0, 178) = 0.10211277333667440059;
  points(1, 178) = 0.83051891649879994173;
  points(0, 179) = 0.067368310164525629924;
  points(1, 179) = 0.10211277333667463652;
  points(0, 180) = 0.23355570301935157929;
  points(1, 180) = 0.18656524419997277953;
  points(0, 181) = 0.57987905278067564119;
  points(1, 181) = 0.23355570301935166255;
  points(0, 182) = 0.18656524419997272402;
  points(1, 182) = 0.57987905278067586323;
  points(0, 183) = 0.57987905278067564119;
  points(1, 183) = 0.18656524419997277953;
  points(0, 184) = 0.23355570301935157929;
  points(1, 184) = 0.57987905278067586323;
  points(0, 185) = 0.18656524419997255748;
  points(1, 185) = 0.23355570301935177357;
  points(0, 186) = 0.32141646283171132481;
  points(1, 186) = 0.063883483412395344891;
  points(0, 187) = 0.61470005375589331642;
  points(1, 187) = 0.32141646283171138032;
  points(0, 188) = 0.063883483412395358769;
  points(1, 188) = 0.61470005375589342744;
  points(0, 189) = 0.61470005375589331642;
  points(1, 189) = 0.063883483412395344891;
  points(0, 190) = 0.32141646283171138032;
  points(1, 190) = 0.61470005375589342744;
  points(0, 191) = 0.063883483412395192236;
  points(1, 191) = 0.32141646283171165788;
  points(0, 192) = 0.22333618489571255283;
  points(1, 192) = 0.032571221794949867245;
  points(0, 193) = 0.74409259330933763543;
  points(1, 193) = 0.22333618489571258059;
  points(0, 194) = 0.032571221794949867245;
  points(1, 194) = 0.74409259330933785748;
  points(0, 195) = 0.74409259330933763543;
  points(1, 195) = 0.032571221794949867245;
  points(0, 196) = 0.22333618489571255283;
  points(1, 196) = 0.74409259330933774645;
  points(0, 197) = 0.032571221794949700712;
  points(1, 197) = 0.22333618489571283039;
  points(0, 198) = 0.19058811894632027295;
  points(1, 198) = 0.013273482756157794007;
  points(0, 199) = 0.79613839829752186539;
  points(1, 199) = 0.1905881189463202452;
  points(0, 200) = 0.013273482756157917173;
  points(1, 200) = 0.79613839829752208743;
  points(0, 201) = 0.79613839829752197641;
  points(1, 201) = 0.013273482756157794007;
  points(0, 202) = 0.19058811894632032846;
  points(1, 202) = 0.79613839829752208743;
  points(0, 203) = 0.013273482756157639617;
  points(1, 203) = 0.19058811894632055051;
  points(0, 204) = 0.22735584024547950133;
  points(1, 204) = 0.13623377550912807443;
  points(0, 205) = 0.63641038424539231322;
  points(1, 205) = 0.22735584024547958459;
  points(0, 206) = 0.13623377550912807443;
  points(1, 206) = 0.63641038424539253526;
  points(0, 207) = 0.63641038424539242424;
  points(1, 207) = 0.13623377550912807443;
  points(0, 208) = 0.22735584024547966786;
  points(1, 208) = 0.63641038424539242424;
  points(0, 209) = 0.13623377550912793565;
  points(1, 209) = 0.22735584024547977888;
  points(0, 210) = 0.10658042585885879605;
  points(1, 210) = 0.10658042585885905973;
  points(0, 211) = 0.78683914828228218585;
  points(1, 211) = 0.10658042585885883768;
  points(0, 212) = 0.10658042585885907361;
  points(1, 212) = 0.78683914828228229688;
  points(0, 213) = 0.15676792278716003559;
  points(1, 213) = 0.0026153775338892213537;
  points(0, 214) = 0.84061669967895069622;
  points(1, 214) = 0.15676792278716006335;
  points(0, 215) = 0.0026153775338892404356;
  points(1, 215) = 0.84061669967895091826;
  points(0, 216) = 0.84061669967895069622;
  points(1, 216) = 0.0026153775338892213537;
  points(0, 217) = 0.15676792278716017437;
  points(1, 217) = 0.84061669967895069622;
  points(0, 218) = 0.0026153775338890322688;
  points(1, 218) = 0.15676792278716042417;
  points(0, 219) = 0.13403333498677846847;
  points(1, 219) = 0.013481211205156806363;
  points(0, 220) = 0.85248545380806473037;
  points(1, 220) = 0.13403333498677846847;
  points(0, 221) = 0.013481211205156884425;
  points(1, 221) = 0.8524854538080648414;
  points(0, 222) = 0.85248545380806473037;
  points(1, 222) = 0.013481211205156806363;
  points(0, 223) = 0.13403333498677849622;
  points(1, 223) = 0.8524854538080648414;
  points(0, 224) = 0.013481211205156551358;
  points(1, 224) = 0.13403333498677882929;
  points(0, 225) = 0.29572117574545359053;
  points(1, 225) = 0.19188410435220626393;
  points(0, 226) = 0.51239471990234020105;
  points(1, 226) = 0.29572117574545370156;
  points(0, 227) = 0.19188410435220620842;
  points(1, 227) = 0.51239471990234031207;
  points(0, 228) = 0.51239471990234020105;
  points(1, 228) = 0.19188410435220626393;
  points(0, 229) = 0.29572117574545364604;
  points(1, 229) = 0.51239471990234020105;
  points(0, 230) = 0.1918841043522060974;
  points(1, 230) = 0.29572117574545386809;
  points(0, 231) = 0.10671927181300036591;
  points(1, 231) = 0.0025472816321698366418;
  points(0, 232) = 0.8907334465548297775;
  points(1, 232) = 0.10671927181300033816;
  points(0, 233) = 0.0025472816321698843467;
  points(1, 233) = 0.89073344655483011056;
  points(0, 234) = 0.8907334465548297775;
  points(1, 234) = 0.0025472816321698366418;
  points(0, 235) = 0.10671927181300028264;
  points(1, 235) = 0.89073344655483011056;
  points(0, 236) = 0.0025472816321696137298;
  points(1, 236) = 0.10671927181300065735;
  points(0, 237) = 0.41256641948391653552;
  points(1, 237) = 0.10103729435575968532;
  points(0, 238) = 0.48639628616032376529;
  points(1, 238) = 0.41256641948391659103;
  points(0, 239) = 0.10103729435575964368;
  points(1, 239) = 0.48639628616032393182;
  points(0, 240) = 0.48639628616032376529;
  points(1, 240) = 0.10103729435575968532;
  points(0, 241) = 0.41256641948391653552;
  points(1, 241) = 0.4863962861603238208;
  points(0, 242) = 0.10103729435575958817;
  points(1, 242) = 0.41256641948391670205;
  points(0, 243) = 0.30785198299288607515;
  points(1, 243) = 0.24975074116528878099;
  points(0, 244) = 0.44239727584182519937;
  points(1, 244) = 0.30785198299288613066;
  points(0, 245) = 0.24975074116528866996;
  points(1, 245) = 0.44239727584182531039;
  points(0, 246) = 0.44239727584182508835;
  points(1, 246) = 0.24975074116528878099;
  points(0, 247) = 0.30785198299288607515;
  points(1, 247) = 0.44239727584182531039;
  points(0, 248) = 0.24975074116528864221;
  points(1, 248) = 0.30785198299288624169;
  points(0, 249) = 0.087020548699696637085;
  points(1, 249) = 0.013712625288558032491;
  points(0, 250) = 0.89926682601174534604;
  points(1, 250) = 0.087020548699696664841;
  points(0, 251) = 0.013712625288558100145;
  points(1, 251) = 0.89926682601174556808;
  points(0, 252) = 0.89926682601174534604;
  points(1, 252) = 0.013712625288558032491;
  points(0, 253) = 0.087020548699696664841;
  points(1, 253) = 0.89926682601174556808;
  points(0, 254) = 0.013712625288557774017;
  points(1, 254) = 0.08702054869969698403;
  points(0, 255) = 0.38942833168121970822;
  points(1, 255) = 0.0033445954334026476579;
  points(0, 256) = 0.60722707288537769443;
  points(1, 256) = 0.38942833168121976373;
  points(0, 257) = 0.0033445954334025973509;
  points(1, 257) = 0.60722707288537791648;
  points(0, 258) = 0.60722707288537769443;
  points(1, 258) = 0.0033445954334026476579;
  points(0, 259) = 0.3894283316812196527;
  points(1, 259) = 0.60722707288537780546;
  points(0, 260) = 0.0033445954334025695953;
  points(1, 260) = 0.38942833168121998577;
  points(0, 261) = 0.31173539107258729786;
  points(1, 261) = 0.31173539107258746439;
  points(0, 262) = 0.37652921785482523775;
  points(1, 262) = 0.31173539107258740888;
  points(0, 263) = 0.31173539107258729786;
  points(1, 263) = 0.37652921785482534878;
  points(0, 264) = 0.26129397031417700425;
  points(1, 264) = 0.055674630430605213938;
  points(0, 265) = 0.68303139925521783038;
  points(1, 265) = 0.26129397031417700425;
  points(0, 266) = 0.055674630430605220877;
  points(1, 266) = 0.68303139925521805242;
  points(0, 267) = 0.68303139925521771936;
  points(1, 267) = 0.055674630430605213938;
  points(0, 268) = 0.26129397031417700425;
  points(1, 268) = 0.6830313992552179414;
  points(0, 269) = 0.055674630430605054343;
  points(1, 269) = 0.2612939703141772263;
  points(0, 270) = 0.064975533109811883792;
  points(1, 270) = 0.0028037585935402663598;
  points(0, 271) = 0.93222070829664782643;
  points(1, 271) = 0.064975533109811856036;
  points(0, 272) = 0.0028037585935404285564;
  points(1, 272) = 0.93222070829664793745;
  points(0, 273) = 0.93222070829664782643;
  points(1, 273) = 0.0028037585935402663598;
  points(0, 274) = 0.064975533109811911547;
  points(1, 274) = 0.93222070829664793745;
  points(0, 275) = 0.0028037585935400746728;
  points(1, 275) = 0.064975533109812230737;
  points(0, 276) = 0.2719500060981309697;
  points(1, 276) = 0.096350500077239845109;
  points(0, 277) = 0.63169949382462908805;
  points(1, 277) = 0.27195000609813108072;
  points(0, 278) = 0.096350500077239886743;
  points(1, 278) = 0.63169949382462919907;
  points(0, 279) = 0.63169949382462919907;
  points(1, 279) = 0.096350500077239845109;
  points(0, 280) = 0.27195000609813113623;
  points(1, 280) = 0.63169949382462919907;
  points(0, 281) = 0.096350500077239636942;
  points(1, 281) = 0.27195000609813130277;
  points(0, 282) = 0.29309036427254619994;
  points(1, 282) = 0.02919910660043599504;
  points(0, 283) = 0.67771052912701779114;
  points(1, 283) = 0.29309036427254625545;
  points(0, 284) = 0.029199106600436008918;
  points(1, 284) = 0.67771052912701801318;
  points(0, 285) = 0.67771052912701779114;
  points(1, 285) = 0.02919910660043599504;
  points(0, 286) = 0.29309036427254625545;
  points(1, 286) = 0.67771052912701790216;
  points(0, 287) = 0.029199106600435842385;
  points(1, 287) = 0.29309036427254653301;
  points(0, 288) = 0.39466482658781920634;
  points(1, 288) = 0.063574550662169174164;
  points(0, 289) = 0.54176062275001168889;
  points(1, 289) = 0.39466482658781926185;
  points(0, 290) = 0.063574550662169160287;
  points(1, 290) = 0.54176062275001179991;
  points(0, 291) = 0.54176062275001157786;
  points(1, 291) = 0.063574550662169174164;
  points(0, 292) = 0.39466482658781926185;
  points(1, 292) = 0.54176062275001168889;
  points(0, 293) = 0.063574550662169104776;
  points(1, 293) = 0.39466482658781942838;
  points(0, 294) = 0.35685221819298279522;
  points(1, 294) = 0.14392858006554384853;
  points(0, 295) = 0.49921920174147332849;
  points(1, 295) = 0.35685221819298285073;
  points(0, 296) = 0.14392858006554379302;
  points(1, 296) = 0.49921920174147355054;
  points(0, 297) = 0.499219201741473384;
  points(1, 297) = 0.14392858006554384853;
  points(0, 298) = 0.35685221819298285073;
  points(1, 298) = 0.49921920174147343952;
  points(0, 299) = 0.14392858006554373751;
  points(1, 299) = 0.35685221819298301726;
  points(0, 300) = 0.24486057586888171356;
  points(1, 300) = 0.24486057586888188009;
  points(0, 301) = 0.51027884826223635084;
  points(1, 301) = 0.24486057586888179682;
  points(0, 302) = 0.24486057586888182458;
  points(1, 302) = 0.51027884826223657289;
  points(0, 303) = 0.34136135163887626476;
  points(1, 303) = 0.099208699753299781077;
  points(0, 304) = 0.55942994860782402355;
  points(1, 304) = 0.34136135163887637578;
  points(0, 305) = 0.099208699753299767199;
  points(1, 305) = 0.55942994860782413458;
  points(0, 306) = 0.55942994860782402355;
  points(1, 306) = 0.099208699753299781077;
  points(0, 307) = 0.34136135163887626476;
  points(1, 307) = 0.55942994860782402355;
  points(0, 308) = 0.099208699753299656177;
  points(1, 308) = 0.3413613516388764868;
  points(0, 309) = 0.28951294107951458523;
  points(1, 309) = 0.14038892142146289221;
  points(0, 310) = 0.57009813749902260582;
  points(1, 310) = 0.28951294107951464074;
  points(0, 311) = 0.14038892142146280895;
  points(1, 311) = 0.57009813749902271685;
  points(0, 312) = 0.57009813749902260582;
  points(1, 312) = 0.14038892142146289221;
  points(0, 313) = 0.28951294107951464074;
  points(1, 313) = 0.57009813749902260582;
  points(0, 314) = 0.14038892142146272568;
  points(1, 314) = 0.28951294107951480727;
  points(0, 315) = 0.1748351458111906398;
  points(1, 315) = 0.17483514581119086184;
  points(0, 316) = 0.65032970837761838734;
  points(1, 316) = 0.17483514581119069531;
  points(0, 317) = 0.17483514581119086184;
  points(1, 317) = 0.65032970837761872041;
  points(0, 318) = 0.42756933415019038325;
  points(1, 318) = 0.14486133169961926126;
  points(0, 319) = 0.42756933415019038325;
  points(1, 319) = 0.42756933415019043876;
  points(0, 320) = 0.14486133169961912248;
  points(1, 320) = 0.42756933415019060529;
  points(0, 321) = 0.3742701566784476519;
  points(1, 321) = 0.2514596866431046962;
  points(0, 322) = 0.37427015667844770741;
  points(1, 322) = 0.37427015667844776292;
  points(0, 323) = 0.25145968664310458518;
  points(1, 323) = 0.37427015667844781843;

  weights(0) = 0.0017732200079885835839;
  weights(1) = 0.0017732200079885835839;
  weights(2) = 0.0017732200079885835839;
  weights(3) = 1.7359767718281048288e-05;
  weights(4) = 1.7359767718281048288e-05;
  weights(5) = 1.7359767718281048288e-05;
  weights(6) = 0.00026636584717026619111;
  weights(7) = 0.00026636584717026619111;
  weights(8) = 0.00026636584717026619111;
  weights(9) = 0.00026636584717026619111;
  weights(10) = 0.00026636584717026619111;
  weights(11) = 0.00026636584717026619111;
  weights(12) = 0.00050708482141636796077;
  weights(13) = 0.00050708482141636796077;
  weights(14) = 0.00050708482141636796077;
  weights(15) = 0.00021953851358491198236;
  weights(16) = 0.00021953851358491198236;
  weights(17) = 0.00021953851358491198236;
  weights(18) = 0.00021953851358491198236;
  weights(19) = 0.00021953851358491198236;
  weights(20) = 0.00021953851358491198236;
  weights(21) = 0.00051851252326771328331;
  weights(22) = 0.00051851252326771328331;
  weights(23) = 0.00051851252326771328331;
  weights(24) = 0.00051851252326771328331;
  weights(25) = 0.00051851252326771328331;
  weights(26) = 0.00051851252326771328331;
  weights(27) = 0.0014220929785061196815;
  weights(28) = 0.0014220929785061196815;
  weights(29) = 0.0014220929785061196815;
  weights(30) = 0.00093549076901143978988;
  weights(31) = 0.00093549076901143978988;
  weights(32) = 0.00093549076901143978988;
  weights(33) = 0.00027977597511402192828;
  weights(34) = 0.00027977597511402192828;
  weights(35) = 0.00027977597511402192828;
  weights(36) = 0.00027977597511402192828;
  weights(37) = 0.00027977597511402192828;
  weights(38) = 0.00027977597511402192828;
  weights(39) = 0.0012689602532323859818;
  weights(40) = 0.0012689602532323859818;
  weights(41) = 0.0012689602532323859818;
  weights(42) = 0.0012689602532323859818;
  weights(43) = 0.0012689602532323859818;
  weights(44) = 0.0012689602532323859818;
  weights(45) = 0.002029078899056978736;
  weights(46) = 0.002029078899056978736;
  weights(47) = 0.002029078899056978736;
  weights(48) = 0.002029078899056978736;
  weights(49) = 0.002029078899056978736;
  weights(50) = 0.002029078899056978736;
  weights(51) = 0.00066631250020399027459;
  weights(52) = 0.00066631250020399027459;
  weights(53) = 0.00066631250020399027459;
  weights(54) = 0.0001133212876037456503;
  weights(55) = 0.0001133212876037456503;
  weights(56) = 0.0001133212876037456503;
  weights(57) = 0.0001133212876037456503;
  weights(58) = 0.0001133212876037456503;
  weights(59) = 0.0001133212876037456503;
  weights(60) = 0.0010963408407929421153;
  weights(61) = 0.0010963408407929421153;
  weights(62) = 0.0010963408407929421153;
  weights(63) = 0.00034092667157074825262;
  weights(64) = 0.00034092667157074825262;
  weights(65) = 0.00034092667157074825262;
  weights(66) = 0.00034092667157074825262;
  weights(67) = 0.00034092667157074825262;
  weights(68) = 0.00034092667157074825262;
  weights(69) = 9.3546534307801170816e-05;
  weights(70) = 9.3546534307801170816e-05;
  weights(71) = 9.3546534307801170816e-05;
  weights(72) = 9.3546534307801170816e-05;
  weights(73) = 9.3546534307801170816e-05;
  weights(74) = 9.3546534307801170816e-05;
  weights(75) = 0.00084331483491186594488;
  weights(76) = 0.00084331483491186594488;
  weights(77) = 0.00084331483491186594488;
  weights(78) = 0.00084331483491186594488;
  weights(79) = 0.00084331483491186594488;
  weights(80) = 0.00084331483491186594488;
  weights(81) = 0.00095127489822894987798;
  weights(82) = 0.00095127489822894987798;
  weights(83) = 0.00095127489822894987798;
  weights(84) = 0.00095127489822894987798;
  weights(85) = 0.00095127489822894987798;
  weights(86) = 0.00095127489822894987798;
  weights(87) = 0.00038668351264989028228;
  weights(88) = 0.00038668351264989028228;
  weights(89) = 0.00038668351264989028228;
  weights(90) = 0.00038668351264989028228;
  weights(91) = 0.00038668351264989028228;
  weights(92) = 0.00038668351264989028228;
  weights(93) = 0.0015861939454501197341;
  weights(94) = 0.0015861939454501197341;
  weights(95) = 0.0015861939454501197341;
  weights(96) = 0.0015861939454501197341;
  weights(97) = 0.0015861939454501197341;
  weights(98) = 0.0015861939454501197341;
  weights(99) = 0.0010842623549308710515;
  weights(100) = 0.0010842623549308710515;
  weights(101) = 0.0010842623549308710515;
  weights(102) = 0.0010842623549308710515;
  weights(103) = 0.0010842623549308710515;
  weights(104) = 0.0010842623549308710515;
  weights(105) = 0.0020370587368203569092;
  weights(106) = 0.0020370587368203569092;
  weights(107) = 0.0020370587368203569092;
  weights(108) = 0.0020370587368203569092;
  weights(109) = 0.0020370587368203569092;
  weights(110) = 0.0020370587368203569092;
  weights(111) = 0.0016860445071980752468;
  weights(112) = 0.0016860445071980752468;
  weights(113) = 0.0016860445071980752468;
  weights(114) = 0.0016860445071980752468;
  weights(115) = 0.0016860445071980752468;
  weights(116) = 0.0016860445071980752468;
  weights(117) = 0.0016687327076746506782;
  weights(118) = 0.0016687327076746506782;
  weights(119) = 0.0016687327076746506782;
  weights(120) = 0.0016687327076746506782;
  weights(121) = 0.0016687327076746506782;
  weights(122) = 0.0016687327076746506782;
  weights(123) = 0.00047620297782734064213;
  weights(124) = 0.00047620297782734064213;
  weights(125) = 0.00047620297782734064213;
  weights(126) = 0.0003721502303561135443;
  weights(127) = 0.0003721502303561135443;
  weights(128) = 0.0003721502303561135443;
  weights(129) = 0.0003721502303561135443;
  weights(130) = 0.0003721502303561135443;
  weights(131) = 0.0003721502303561135443;
  weights(132) = 0.00087450282875464291181;
  weights(133) = 0.00087450282875464291181;
  weights(134) = 0.00087450282875464291181;
  weights(135) = 0.00087450282875464291181;
  weights(136) = 0.00087450282875464291181;
  weights(137) = 0.00087450282875464291181;
  weights(138) = 0.0021799250209462335548;
  weights(139) = 0.0021799250209462335548;
  weights(140) = 0.0021799250209462335548;
  weights(141) = 0.0022662661275163753505;
  weights(142) = 0.0022662661275163753505;
  weights(143) = 0.0022662661275163753505;
  weights(144) = 0.00095158419771901347258;
  weights(145) = 0.00095158419771901347258;
  weights(146) = 0.00095158419771901347258;
  weights(147) = 0.00095158419771901347258;
  weights(148) = 0.00095158419771901347258;
  weights(149) = 0.00095158419771901347258;
  weights(150) = 0.0019790722453782963637;
  weights(151) = 0.0019790722453782963637;
  weights(152) = 0.0019790722453782963637;
  weights(153) = 0.0019790722453782963637;
  weights(154) = 0.0019790722453782963637;
  weights(155) = 0.0019790722453782963637;
  weights(156) = 0.0010816650059587544237;
  weights(157) = 0.0010816650059587544237;
  weights(158) = 0.0010816650059587544237;
  weights(159) = 0.0010816650059587544237;
  weights(160) = 0.0010816650059587544237;
  weights(161) = 0.0010816650059587544237;
  weights(162) = 0.0031333706982709106162;
  weights(163) = 0.0031333706982709106162;
  weights(164) = 0.0031333706982709106162;
  weights(165) = 0.0031333706982709106162;
  weights(166) = 0.0031333706982709106162;
  weights(167) = 0.0031333706982709106162;
  weights(168) = 0.0012157354723764043913;
  weights(169) = 0.0012157354723764043913;
  weights(170) = 0.0012157354723764043913;
  weights(171) = 0.0012157354723764043913;
  weights(172) = 0.0012157354723764043913;
  weights(173) = 0.0012157354723764043913;
  weights(174) = 0.0014132890488012272469;
  weights(175) = 0.0014132890488012272469;
  weights(176) = 0.0014132890488012272469;
  weights(177) = 0.0014132890488012272469;
  weights(178) = 0.0014132890488012272469;
  weights(179) = 0.0014132890488012272469;
  weights(180) = 0.0032376781127416410198;
  weights(181) = 0.0032376781127416410198;
  weights(182) = 0.0032376781127416410198;
  weights(183) = 0.0032376781127416410198;
  weights(184) = 0.0032376781127416410198;
  weights(185) = 0.0032376781127416410198;
  weights(186) = 0.0021242412256270932006;
  weights(187) = 0.0021242412256270932006;
  weights(188) = 0.0021242412256270932006;
  weights(189) = 0.0021242412256270932006;
  weights(190) = 0.0021242412256270932006;
  weights(191) = 0.0021242412256270932006;
  weights(192) = 0.0014550429545311270238;
  weights(193) = 0.0014550429545311270238;
  weights(194) = 0.0014550429545311270238;
  weights(195) = 0.0014550429545311270238;
  weights(196) = 0.0014550429545311270238;
  weights(197) = 0.0014550429545311270238;
  weights(198) = 0.00087719716546570366319;
  weights(199) = 0.00087719716546570366319;
  weights(200) = 0.00087719716546570366319;
  weights(201) = 0.00087719716546570366319;
  weights(202) = 0.00087719716546570366319;
  weights(203) = 0.00087719716546570366319;
  weights(204) = 0.0026639071817662891666;
  weights(205) = 0.0026639071817662891666;
  weights(206) = 0.0026639071817662891666;
  weights(207) = 0.0026639071817662891666;
  weights(208) = 0.0026639071817662891666;
  weights(209) = 0.0026639071817662891666;
  weights(210) = 0.0018480353307769384341;
  weights(211) = 0.0018480353307769384341;
  weights(212) = 0.0018480353307769384341;
  weights(213) = 0.0003558677575266900304;
  weights(214) = 0.0003558677575266900304;
  weights(215) = 0.0003558677575266900304;
  weights(216) = 0.0003558677575266900304;
  weights(217) = 0.0003558677575266900304;
  weights(218) = 0.0003558677575266900304;
  weights(219) = 0.00078425980907171851698;
  weights(220) = 0.00078425980907171851698;
  weights(221) = 0.00078425980907171851698;
  weights(222) = 0.00078425980907171851698;
  weights(223) = 0.00078425980907171851698;
  weights(224) = 0.00078425980907171851698;
  weights(225) = 0.0034548418516926666412;
  weights(226) = 0.0034548418516926666412;
  weights(227) = 0.0034548418516926666412;
  weights(228) = 0.0034548418516926666412;
  weights(229) = 0.0034548418516926666412;
  weights(230) = 0.0034548418516926666412;
  weights(231) = 0.0003038834446692079941;
  weights(232) = 0.0003038834446692079941;
  weights(233) = 0.0003038834446692079941;
  weights(234) = 0.0003038834446692079941;
  weights(235) = 0.0003038834446692079941;
  weights(236) = 0.0003038834446692079941;
  weights(237) = 0.0029299530252759001941;
  weights(238) = 0.0029299530252759001941;
  weights(239) = 0.0029299530252759001941;
  weights(240) = 0.0029299530252759001941;
  weights(241) = 0.0029299530252759001941;
  weights(242) = 0.0029299530252759001941;
  weights(243) = 0.0038825930203148432789;
  weights(244) = 0.0038825930203148432789;
  weights(245) = 0.0038825930203148432789;
  weights(246) = 0.0038825930203148432789;
  weights(247) = 0.0038825930203148432789;
  weights(248) = 0.0038825930203148432789;
  weights(249) = 0.00065502041649305616216;
  weights(250) = 0.00065502041649305616216;
  weights(251) = 0.00065502041649305616216;
  weights(252) = 0.00065502041649305616216;
  weights(253) = 0.00065502041649305616216;
  weights(254) = 0.00065502041649305616216;
  weights(255) = 0.00052854862458613508566;
  weights(256) = 0.00052854862458613508566;
  weights(257) = 0.00052854862458613508566;
  weights(258) = 0.00052854862458613508566;
  weights(259) = 0.00052854862458613508566;
  weights(260) = 0.00052854862458613508566;
  weights(261) = 0.0040486688045141949049;
  weights(262) = 0.0040486688045141949049;
  weights(263) = 0.0040486688045141949049;
  weights(264) = 0.00202059882537530041;
  weights(265) = 0.00202059882537530041;
  weights(266) = 0.00202059882537530041;
  weights(267) = 0.00202059882537530041;
  weights(268) = 0.00202059882537530041;
  weights(269) = 0.00202059882537530041;
  weights(270) = 0.00026212394567296908856;
  weights(271) = 0.00026212394567296908856;
  weights(272) = 0.00026212394567296908856;
  weights(273) = 0.00026212394567296908856;
  weights(274) = 0.00026212394567296908856;
  weights(275) = 0.00026212394567296908856;
  weights(276) = 0.002602434003160054507;
  weights(277) = 0.002602434003160054507;
  weights(278) = 0.002602434003160054507;
  weights(279) = 0.002602434003160054507;
  weights(280) = 0.002602434003160054507;
  weights(281) = 0.002602434003160054507;
  weights(282) = 0.0015166556631349360686;
  weights(283) = 0.0015166556631349360686;
  weights(284) = 0.0015166556631349360686;
  weights(285) = 0.0015166556631349360686;
  weights(286) = 0.0015166556631349360686;
  weights(287) = 0.0015166556631349360686;
  weights(288) = 0.0024342761801989343078;
  weights(289) = 0.0024342761801989343078;
  weights(290) = 0.0024342761801989343078;
  weights(291) = 0.0024342761801989343078;
  weights(292) = 0.0024342761801989343078;
  weights(293) = 0.0024342761801989343078;
  weights(294) = 0.0033014363090444823201;
  weights(295) = 0.0033014363090444823201;
  weights(296) = 0.0033014363090444823201;
  weights(297) = 0.0033014363090444823201;
  weights(298) = 0.0033014363090444823201;
  weights(299) = 0.0033014363090444823201;
  weights(300) = 0.0036453005263933861008;
  weights(301) = 0.0036453005263933861008;
  weights(302) = 0.0036453005263933861008;
  weights(303) = 0.0028265683441562015898;
  weights(304) = 0.0028265683441562015898;
  weights(305) = 0.0028265683441562015898;
  weights(306) = 0.0028265683441562015898;
  weights(307) = 0.0028265683441562015898;
  weights(308) = 0.0028265683441562015898;
  weights(309) = 0.0030959645061719681496;
  weights(310) = 0.0030959645061719681496;
  weights(311) = 0.0030959645061719681496;
  weights(312) = 0.0030959645061719681496;
  weights(313) = 0.0030959645061719681496;
  weights(314) = 0.0030959645061719681496;
  weights(315) = 0.0030277633910126854934;
  weights(316) = 0.0030277633910126854934;
  weights(317) = 0.0030277633910126854934;
  weights(318) = 0.0033794723196148837227;
  weights(319) = 0.0033794723196148837227;
  weights(320) = 0.0033794723196148837227;
  weights(321) = 0.0039610222882956562518;
  weights(322) = 0.0039610222882956562518;
  weights(323) = 0.0039610222882956562518;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 42);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 43>() { // NOLINT
  Eigen::MatrixXd points(2, 339);
  Eigen::VectorXd weights(339);

  points(0, 0) = 0.41178017085993379176;
  points(1, 0) = 0.17643965828013238872;
  points(0, 1) = 0.41178017085993384727;
  points(1, 1) = 0.41178017085993390278;
  points(0, 2) = 0.17643965828013230546;
  points(1, 2) = 0.41178017085993401381;
  points(0, 3) = 0.47557586709913146628;
  points(1, 3) = 0.048848265801737102143;
  points(0, 4) = 0.47557586709913146628;
  points(1, 4) = 0.47557586709913152179;
  points(0, 5) = 0.048848265801737011937;
  points(1, 5) = 0.47557586709913168832;
  points(0, 6) = 0.22973943652724923559;
  points(1, 6) = 0.14545379538783259621;
  points(0, 7) = 0.62480676808491808494;
  points(1, 7) = 0.22973943652724926334;
  points(0, 8) = 0.14545379538783265172;
  points(1, 8) = 0.62480676808491830698;
  points(0, 9) = 0.62480676808491819596;
  points(1, 9) = 0.14545379538783259621;
  points(0, 10) = 0.22973943652724926334;
  points(1, 10) = 0.62480676808491830698;
  points(0, 11) = 0.14545379538783245743;
  points(1, 11) = 0.22973943652724942988;
  points(0, 12) = 0.49917983673447796633;
  points(1, 12) = 0.001640326531044013561;
  points(0, 13) = 0.49917983673447802184;
  points(1, 13) = 0.49917983673447807735;
  points(0, 14) = 0.0016403265310439285596;
  points(1, 14) = 0.49917983673447824389;
  points(0, 15) = 0.29624798816886982467;
  points(1, 15) = 0.2962479881688699912;
  points(0, 16) = 0.40750402366226012862;
  points(1, 16) = 0.2962479881688699912;
  points(0, 17) = 0.29624798816886982467;
  points(1, 17) = 0.40750402366226035067;
  points(0, 18) = 0.36055807608878381876;
  points(1, 18) = 0.03241547484177854932;
  points(0, 19) = 0.60702644906943770131;
  points(1, 19) = 0.36055807608878387427;
  points(0, 20) = 0.032415474841778535442;
  points(1, 20) = 0.60702644906943781233;
  points(0, 21) = 0.60702644906943759029;
  points(1, 21) = 0.03241547484177854932;
  points(0, 22) = 0.36055807608878387427;
  points(1, 22) = 0.60702644906943770131;
  points(0, 23) = 0.03241547484177842442;
  points(1, 23) = 0.36055807608878409631;
  points(0, 24) = 0.095917227666943674635;
  points(1, 24) = 0.012412908224438379615;
  points(0, 25) = 0.89166986410861792667;
  points(1, 25) = 0.095917227666943688513;
  points(0, 26) = 0.012412908224438468086;
  points(1, 26) = 0.89166986410861814871;
  points(0, 27) = 0.89166986410861792667;
  points(1, 27) = 0.012412908224438379615;
  points(0, 28) = 0.095917227666943716269;
  points(1, 28) = 0.89166986410861814871;
  points(0, 29) = 0.01241290822443812808;
  points(1, 29) = 0.095917227666944007702;
  points(0, 30) = 0.18980151011108847836;
  points(1, 30) = 0.13785811789149307605;
  points(0, 31) = 0.67234037199741836233;
  points(1, 31) = 0.18980151011108847836;
  points(0, 32) = 0.1378581178914931038;
  points(1, 32) = 0.67234037199741858437;
  points(0, 33) = 0.67234037199741847335;
  points(1, 33) = 0.13785811789149307605;
  points(0, 34) = 0.18980151011108847836;
  points(1, 34) = 0.67234037199741858437;
  points(0, 35) = 0.13785811789149288176;
  points(1, 35) = 0.18980151011108872816;
  points(0, 36) = 0.40105845129260514481;
  points(1, 36) = 0.13533613115359621748;
  points(0, 37) = 0.4636054175537985822;
  points(1, 37) = 0.40105845129260525583;
  points(0, 38) = 0.13533613115359616197;
  points(1, 38) = 0.46360541755379880424;
  points(0, 39) = 0.46360541755379863771;
  points(1, 39) = 0.13533613115359621748;
  points(0, 40) = 0.40105845129260520032;
  points(1, 40) = 0.46360541755379874873;
  points(0, 41) = 0.13533613115359610646;
  points(1, 41) = 0.40105845129260542237;
  points(0, 42) = 0.27758253227610213409;
  points(1, 42) = 0.1435267918924766628;
  points(0, 43) = 0.57889067583142117535;
  points(1, 43) = 0.27758253227610218961;
  points(0, 44) = 0.14352679189247669056;
  points(1, 44) = 0.57889067583142128637;
  points(0, 45) = 0.57889067583142117535;
  points(1, 45) = 0.1435267918924766628;
  points(0, 46) = 0.27758253227610213409;
  points(1, 46) = 0.57889067583142128637;
  points(0, 47) = 0.14352679189247649627;
  points(1, 47) = 0.27758253227610235614;
  points(0, 48) = 0.35318880488700066245;
  points(1, 48) = 0.2936223902259986196;
  points(0, 49) = 0.35318880488700071796;
  points(1, 49) = 0.35318880488700077347;
  points(0, 50) = 0.29362239022599845306;
  points(1, 50) = 0.35318880488700088449;
  points(0, 51) = 0.30611837669033503673;
  points(1, 51) = 0.035451591596514168969;
  points(0, 52) = 0.65843003171315084288;
  points(1, 52) = 0.30611837669033498122;
  points(0, 53) = 0.035451591596514120397;
  points(1, 53) = 0.65843003171315106492;
  points(0, 54) = 0.65843003171315084288;
  points(1, 54) = 0.035451591596514168969;
  points(0, 55) = 0.3061183766903349257;
  points(1, 55) = 0.65843003171315106492;
  points(0, 56) = 0.035451591596514009375;
  points(1, 56) = 0.30611837669033525877;
  points(0, 57) = 0.49510598080276990718;
  points(1, 57) = 0.0097880383944601821733;
  points(0, 58) = 0.49510598080276990718;
  points(1, 58) = 0.49510598080276996269;
  points(0, 59) = 0.0097880383944601301316;
  points(1, 59) = 0.49510598080277012922;
  points(0, 60) = 0.41828917017342476248;
  points(1, 60) = 0.03541853313132217046;
  points(0, 61) = 0.54629229669525303237;
  points(1, 61) = 0.41828917017342481799;
  points(0, 62) = 0.035418533131322094132;
  points(1, 62) = 0.54629229669525336544;
  points(0, 63) = 0.54629229669525314339;
  points(1, 63) = 0.03541853313132217046;
  points(0, 64) = 0.41828917017342476248;
  points(1, 64) = 0.54629229669525314339;
  points(0, 65) = 0.035418533131322066376;
  points(1, 65) = 0.41828917017342498452;
  points(0, 66) = 0.032909815960534570534;
  points(1, 66) = 0.03290981596053484115;
  points(0, 67) = 0.9341803680789305675;
  points(1, 67) = 0.032909815960534521961;
  points(0, 68) = 0.032909815960534993806;
  points(1, 68) = 0.93418036807893067852;
  points(0, 69) = 0.096509924335752381164;
  points(1, 69) = 0.05579386812579814614;
  points(0, 70) = 0.84769620753844943106;
  points(1, 70) = 0.096509924335752353408;
  points(0, 71) = 0.055793868125798340429;
  points(1, 71) = 0.84769620753844954208;
  points(0, 72) = 0.84769620753844943106;
  points(1, 72) = 0.05579386812579814614;
  points(0, 73) = 0.096509924335752395042;
  points(1, 73) = 0.84769620753844965311;
  points(0, 74) = 0.055793868125797882462;
  points(1, 74) = 0.096509924335752700353;
  points(0, 75) = 0.13283974111052920808;
  points(1, 75) = 0.063976234789808628101;
  points(0, 76) = 0.80318402409966216382;
  points(1, 76) = 0.13283974111052920808;
  points(0, 77) = 0.063976234789808739123;
  points(1, 77) = 0.80318402409966227484;
  points(0, 78) = 0.80318402409966216382;
  points(1, 78) = 0.063976234789808628101;
  points(0, 79) = 0.13283974111052926359;
  points(1, 79) = 0.80318402409966227484;
  points(0, 80) = 0.063976234789808419934;
  points(1, 80) = 0.13283974111052951339;
  points(0, 81) = 0.09696432979806632324;
  points(1, 81) = 0.030262579741771111069;
  points(0, 82) = 0.87277309046016260385;
  points(1, 82) = 0.096964329798066295485;
  points(0, 83) = 0.030262579741771100661;
  points(1, 83) = 0.8727730904601628259;
  points(0, 84) = 0.87277309046016260385;
  points(1, 84) = 0.030262579741771111069;
  points(0, 85) = 0.096964329798066295485;
  points(1, 85) = 0.8727730904601628259;
  points(0, 86) = 0.030262579741770892494;
  points(1, 86) = 0.096964329798066656307;
  points(0, 87) = 0.48656375113068833782;
  points(1, 87) = 0.026872497738623272318;
  points(0, 88) = 0.48656375113068839333;
  points(1, 88) = 0.48656375113068844884;
  points(0, 89) = 0.026872497738623213337;
  points(1, 89) = 0.48656375113068861538;
  points(0, 90) = 0.42875375369101292877;
  points(1, 90) = 0.014637616358968518968;
  points(0, 91) = 0.55660862995001858522;
  points(1, 91) = 0.42875375369101298428;
  points(0, 92) = 0.014637616358968486008;
  points(1, 92) = 0.55660862995001869624;
  points(0, 93) = 0.5566086299500184742;
  points(1, 93) = 0.014637616358968518968;
  points(0, 94) = 0.42875375369101298428;
  points(1, 94) = 0.55660862995001858522;
  points(0, 95) = 0.014637616358968430497;
  points(1, 95) = 0.42875375369101320633;
  points(0, 96) = 0.06271504838976166285;
  points(1, 96) = 0.062715048389761940406;
  points(0, 97) = 0.87456990322047645225;
  points(1, 97) = 0.062715048389761648973;
  points(0, 98) = 0.062715048389762051428;
  points(1, 98) = 0.87456990322047656328;
  points(0, 99) = 0.13685344532608303969;
  points(1, 99) = 0.013605250929398501891;
  points(0, 100) = 0.84954130374451841679;
  points(1, 100) = 0.13685344532608303969;
  points(0, 101) = 0.013605250929398626791;
  points(1, 101) = 0.84954130374451852781;
  points(0, 102) = 0.84954130374451841679;
  points(1, 102) = 0.013605250929398501891;
  points(0, 103) = 0.13685344532608306745;
  points(1, 103) = 0.84954130374451863883;
  points(0, 104) = 0.013605250929398265969;
  points(1, 104) = 0.13685344532608340051;
  points(0, 105) = 0.3635619090992528446;
  points(1, 105) = 0.0024760406221922721948;
  points(0, 106) = 0.63396205027855478953;
  points(1, 106) = 0.36356190909925290011;
  points(0, 107) = 0.0024760406221922548475;
  points(1, 107) = 0.6339620502785551226;
  points(0, 108) = 0.63396205027855490055;
  points(1, 108) = 0.0024760406221922721948;
  points(0, 109) = 0.36356190909925278909;
  points(1, 109) = 0.63396205027855501157;
  points(0, 110) = 0.0024760406221921438252;
  points(1, 110) = 0.36356190909925312216;
  points(0, 111) = 0.14474355977022135278;
  points(1, 111) = 0.14474355977022165809;
  points(0, 112) = 0.71051288045955696138;
  points(1, 112) = 0.14474355977022138053;
  points(0, 113) = 0.14474355977022163033;
  points(1, 113) = 0.71051288045955718342;
  points(0, 114) = 0.33614357232761971073;
  points(1, 114) = 0.14292597337792942169;
  points(0, 115) = 0.52093045429445083983;
  points(1, 115) = 0.33614357232761982175;
  points(0, 116) = 0.14292597337792939394;
  points(1, 116) = 0.52093045429445095085;
  points(0, 117) = 0.52093045429445095085;
  points(1, 117) = 0.14292597337792942169;
  points(0, 118) = 0.33614357232761976624;
  points(1, 118) = 0.52093045429445095085;
  points(0, 119) = 0.14292597337792928291;
  points(1, 119) = 0.33614357232761993277;
  points(0, 120) = 0.01336462060826157372;
  points(1, 120) = 0.013364620608261877296;
  points(0, 121) = 0.97327075878347646398;
  points(1, 121) = 0.013364620608261556373;
  points(0, 122) = 0.013364620608262045565;
  points(1, 122) = 0.973270758783476575;
  points(0, 123) = 0.094098853449900335399;
  points(1, 123) = 0.0024207777457972610123;
  points(0, 124) = 0.9034803688043023806;
  points(1, 124) = 0.094098853449900307644;
  points(0, 125) = 0.0024207777457974088975;
  points(1, 125) = 0.90348036880430249163;
  points(0, 126) = 0.9034803688043023806;
  points(1, 126) = 0.0024207777457972610123;
  points(0, 127) = 0.094098853449900432544;
  points(1, 127) = 0.90348036880430249163;
  points(0, 128) = 0.0024207777457970133805;
  points(1, 128) = 0.094098853449900668466;
  points(0, 129) = 0.24271058666990052988;
  points(1, 129) = 0.19515033998951339389;
  points(0, 130) = 0.56213907334058610399;
  points(1, 130) = 0.24271058666990055763;
  points(0, 131) = 0.19515033998951336613;
  points(1, 131) = 0.56213907334058621501;
  points(0, 132) = 0.56213907334058610399;
  points(1, 132) = 0.19515033998951339389;
  points(0, 133) = 0.24271058666990052988;
  points(1, 133) = 0.56213907334058621501;
  points(0, 134) = 0.1951503399895131996;
  points(1, 134) = 0.24271058666990072417;
  points(0, 135) = 0.42523844283105760589;
  points(1, 135) = 0.064055101821657023375;
  points(0, 136) = 0.51070645534728531523;
  points(1, 136) = 0.42523844283105771691;
  points(0, 137) = 0.064055101821656967864;
  points(1, 137) = 0.51070645534728553727;
  points(0, 138) = 0.51070645534728531523;
  points(1, 138) = 0.064055101821657023375;
  points(0, 139) = 0.4252384428310576614;
  points(1, 139) = 0.51070645534728542625;
  points(0, 140) = 0.064055101821656912353;
  points(1, 140) = 0.42523844283105793895;
  points(0, 141) = 0.3642781269741873218;
  points(1, 141) = 0.013187611232483225504;
  points(0, 142) = 0.62253426179332949086;
  points(1, 142) = 0.3642781269741873218;
  points(0, 143) = 0.013187611232483242851;
  points(1, 143) = 0.62253426179332960189;
  points(0, 144) = 0.62253426179332949086;
  points(1, 144) = 0.013187611232483225504;
  points(0, 145) = 0.36427812697418726628;
  points(1, 145) = 0.62253426179332960189;
  points(0, 146) = 0.013187611232483104073;
  points(1, 146) = 0.36427812697418754384;
  points(0, 147) = 0.17766372648963649206;
  points(1, 147) = 0.061873082107012651598;
  points(0, 148) = 0.76046319140335083553;
  points(1, 148) = 0.17766372648963649206;
  points(0, 149) = 0.06187308210701270017;
  points(1, 149) = 0.76046319140335105757;
  points(0, 150) = 0.76046319140335083553;
  points(1, 150) = 0.061873082107012651598;
  points(0, 151) = 0.17766372648963651981;
  points(1, 151) = 0.76046319140335094655;
  points(0, 152) = 0.061873082107012478126;
  points(1, 152) = 0.17766372648963679737;
  points(0, 153) = 0.05884564794920505576;
  points(1, 153) = 0.0026124723427688270085;
  points(0, 154) = 0.93854187970802605001;
  points(1, 154) = 0.058845647949205021066;
  points(0, 155) = 0.0026124723427690121902;
  points(1, 155) = 0.93854187970802616103;
  points(0, 156) = 0.93854187970802616103;
  points(1, 156) = 0.0026124723427688270085;
  points(0, 157) = 0.058845647949205048821;
  points(1, 157) = 0.93854187970802638308;
  points(0, 158) = 0.0026124723427685438149;
  points(1, 158) = 0.058845647949205374949;
  points(0, 159) = 0.25009960190982927219;
  points(1, 159) = 0.034190403560094971558;
  points(0, 160) = 0.71570999453007577706;
  points(1, 160) = 0.25009960190982927219;
  points(0, 161) = 0.034190403560095006252;
  points(1, 161) = 0.71570999453007599911;
  points(0, 162) = 0.71570999453007566604;
  points(1, 162) = 0.034190403560094971558;
  points(0, 163) = 0.25009960190982932771;
  points(1, 163) = 0.71570999453007588809;
  points(0, 164) = 0.034190403560094811963;
  points(1, 164) = 0.25009960190982954975;
  points(0, 165) = 0.031972586536534619572;
  points(1, 165) = 0.0026508313305474455121;
  points(0, 166) = 0.96537658213291788201;
  points(1, 166) = 0.031972586536534605695;
  points(0, 167) = 0.0026508313305475539323;
  points(1, 167) = 0.96537658213291810405;
  points(0, 168) = 0.96537658213291788201;
  points(1, 168) = 0.0026508313305474455121;
  points(0, 169) = 0.031972586536534675083;
  points(1, 169) = 0.96537658213291810405;
  points(0, 170) = 0.0026508313305471514765;
  points(1, 170) = 0.031972586536534924884;
  points(0, 171) = 0.24172396135767904024;
  points(1, 171) = 0.0025915690897239996617;
  points(0, 172) = 0.75568446955259682696;
  points(1, 172) = 0.241723961357679068;
  points(0, 173) = 0.0025915690897240772905;
  points(1, 173) = 0.755684469552597049;
  points(0, 174) = 0.75568446955259693798;
  points(1, 174) = 0.0025915690897239996617;
  points(0, 175) = 0.24172396135767904024;
  points(1, 175) = 0.755684469552597049;
  points(0, 176) = 0.0025915690897238274903;
  points(1, 176) = 0.2417239613576793178;
  points(0, 177) = 0.18440470743920181484;
  points(1, 177) = 0.014273346490980736226;
  points(0, 178) = 0.80132194606981743679;
  points(1, 178) = 0.18440470743920181484;
  points(0, 179) = 0.014273346490980720613;
  points(1, 179) = 0.80132194606981776985;
  points(0, 180) = 0.80132194606981743679;
  points(1, 180) = 0.014273346490980736226;
  points(0, 181) = 0.18440470743920189811;
  points(1, 181) = 0.80132194606981754781;
  points(0, 182) = 0.014273346490980567958;
  points(1, 182) = 0.1844047074392020924;
  points(0, 183) = 0.061256389015271951737;
  points(1, 183) = 0.013856407685434548802;
  points(0, 184) = 0.92488720329929352548;
  points(1, 184) = 0.061256389015271944798;
  points(0, 185) = 0.013856407685434668497;
  points(1, 185) = 0.9248872032992936365;
  points(0, 186) = 0.92488720329929352548;
  points(1, 186) = 0.013856407685434548802;
  points(0, 187) = 0.061256389015272083576;
  points(1, 187) = 0.9248872032992936365;
  points(0, 188) = 0.013856407685434300736;
  points(1, 188) = 0.061256389015272263987;
  points(0, 189) = 0.013257141692271854488;
  points(1, 189) = 0.002493826265997860659;
  points(0, 190) = 0.98424903204173030957;
  points(1, 190) = 0.013257141692271854488;
  points(0, 191) = 0.0024938262659979226754;
  points(1, 191) = 0.98424903204173053162;
  points(0, 192) = 0.98424903204173019855;
  points(1, 192) = 0.002493826265997860659;
  points(0, 193) = 0.013257141692271878775;
  points(1, 193) = 0.98424903204173053162;
  points(0, 194) = 0.0024938262659975757307;
  points(1, 194) = 0.013257141692272239597;
  points(0, 195) = 0.0025649413700201358947;
  points(1, 195) = 0.0025649413700204555175;
  points(0, 196) = 0.99487011725995933009;
  points(1, 196) = 0.0025649413700201350273;
  points(0, 197) = 0.00256494137002061251;
  points(1, 197) = 0.99487011725995944111;
  points(0, 198) = 0.18777224277857840207;
  points(1, 198) = 0.18777224277857862411;
  points(0, 199) = 0.62445551444284297382;
  points(1, 199) = 0.18777224277857848533;
  points(0, 200) = 0.1877722427785785686;
  points(1, 200) = 0.62445551444284308484;
  points(0, 201) = 0.13797314008145522557;
  points(1, 201) = 0.10044093105837194335;
  points(0, 202) = 0.76158592886017284496;
  points(1, 202) = 0.13797314008145525333;
  points(0, 203) = 0.10044093105837198499;
  points(1, 203) = 0.76158592886017295598;
  points(0, 204) = 0.76158592886017273393;
  points(1, 204) = 0.10044093105837194335;
  points(0, 205) = 0.13797314008145522557;
  points(1, 205) = 0.76158592886017295598;
  points(0, 206) = 0.10044093105837174906;
  points(1, 206) = 0.13797314008145547537;
  points(0, 207) = 0.033205679927311299027;
  points(1, 207) = 0.013697442352723682504;
  points(0, 208) = 0.95309687771996498551;
  points(1, 208) = 0.033205679927311312905;
  points(0, 209) = 0.013697442352723909753;
  points(1, 209) = 0.95309687771996498551;
  points(0, 210) = 0.95309687771996498551;
  points(1, 210) = 0.013697442352723682504;
  points(0, 211) = 0.033205679927311382293;
  points(1, 211) = 0.95309687771996531858;
  points(0, 212) = 0.013697442352723396275;
  points(1, 212) = 0.033205679927311632094;
  points(0, 213) = 0.38256430878693548081;
  points(1, 213) = 0.23487138242612898287;
  points(0, 214) = 0.38256430878693553632;
  points(1, 214) = 0.38256430878693559183;
  points(0, 215) = 0.2348713824261288996;
  points(1, 215) = 0.38256430878693564734;
  points(0, 216) = 0.19446619678110646512;
  points(1, 216) = 0.034143195889544029897;
  points(0, 217) = 0.77139060732934949804;
  points(1, 217) = 0.19446619678110646512;
  points(0, 218) = 0.034143195889544064592;
  points(1, 218) = 0.77139060732934972009;
  points(0, 219) = 0.77139060732934949804;
  points(1, 219) = 0.034143195889544029897;
  points(0, 220) = 0.19446619678110649287;
  points(1, 220) = 0.77139060732934960907;
  points(0, 221) = 0.034143195889543856425;
  points(1, 221) = 0.19446619678110674267;
  points(0, 222) = 0.23948263508520453713;
  points(1, 222) = 0.013804625294641265434;
  points(0, 223) = 0.74671273962015416448;
  points(1, 223) = 0.23948263508520456488;
  points(0, 224) = 0.01380462529464132615;
  points(1, 224) = 0.7467127396201542755;
  points(0, 225) = 0.74671273962015416448;
  points(1, 225) = 0.013804625294641265434;
  points(0, 226) = 0.2394826350852046204;
  points(1, 226) = 0.7467127396201542755;
  points(0, 227) = 0.013804625294641104105;
  points(1, 227) = 0.23948263508520484244;
  points(0, 228) = 0.36455422777634077791;
  points(1, 228) = 0.18649721429955509744;
  points(0, 229) = 0.44894855792410420792;
  points(1, 229) = 0.36455422777634083342;
  points(0, 230) = 0.18649721429955504193;
  points(1, 230) = 0.44894855792410431894;
  points(0, 231) = 0.44894855792410415241;
  points(1, 231) = 0.18649721429955509744;
  points(0, 232) = 0.36455422777634083342;
  points(1, 232) = 0.44894855792410420792;
  points(0, 233) = 0.18649721429955501417;
  points(1, 233) = 0.36455422777634094444;
  points(0, 234) = 0.13735640236619980903;
  points(1, 234) = 0.0025417593646837681985;
  points(0, 235) = 0.86010183826911645877;
  points(1, 235) = 0.13735640236619978127;
  points(0, 236) = 0.0025417593646838154697;
  points(1, 236) = 0.86010183826911668081;
  points(0, 237) = 0.86010183826911645877;
  points(1, 237) = 0.0025417593646837681985;
  points(0, 238) = 0.13735640236619978127;
  points(1, 238) = 0.86010183826911668081;
  points(0, 239) = 0.0025417593646834962806;
  points(1, 239) = 0.1373564023662001421;
  points(0, 240) = 0.23223203731889038859;
  points(1, 240) = 0.063034933704680981559;
  points(0, 241) = 0.70473302897642864373;
  points(1, 241) = 0.2322320373188904441;
  points(0, 242) = 0.063034933704681050948;
  points(1, 242) = 0.70473302897642864373;
  points(0, 243) = 0.70473302897642864373;
  points(1, 243) = 0.063034933704680981559;
  points(0, 244) = 0.23223203731889052737;
  points(1, 244) = 0.70473302897642864373;
  points(0, 245) = 0.063034933704680773392;
  points(1, 245) = 0.23223203731889074941;
  points(0, 246) = 0.292661395072246866;
  points(1, 246) = 0.063876912579366007527;
  points(0, 247) = 0.64346169234838701545;
  points(1, 247) = 0.29266139507224692151;
  points(0, 248) = 0.063876912579366007527;
  points(1, 248) = 0.64346169234838734852;
  points(0, 249) = 0.64346169234838712647;
  points(1, 249) = 0.063876912579366007527;
  points(0, 250) = 0.29266139507224697702;
  points(1, 250) = 0.64346169234838712647;
  points(0, 251) = 0.06387691257936586875;
  points(1, 251) = 0.29266139507224714356;
  points(0, 252) = 0.31764811639815671018;
  points(1, 252) = 0.2419528451754751619;
  points(0, 253) = 0.44039903842636807241;
  points(1, 253) = 0.31764811639815682121;
  points(0, 254) = 0.24195284517547507863;
  points(1, 254) = 0.44039903842636823894;
  points(0, 255) = 0.44039903842636818343;
  points(1, 255) = 0.2419528451754751619;
  points(0, 256) = 0.31764811639815671018;
  points(1, 256) = 0.44039903842636823894;
  points(0, 257) = 0.24195284517547502312;
  points(1, 257) = 0.31764811639815687672;
  points(0, 258) = 0.3003015966157783212;
  points(1, 258) = 0.014599271258976349516;
  points(0, 259) = 0.68509913212524531367;
  points(1, 259) = 0.3003015966157783212;
  points(0, 260) = 0.014599271258976365129;
  points(1, 260) = 0.68509913212524553572;
  points(0, 261) = 0.68509913212524531367;
  points(1, 261) = 0.014599271258976349516;
  points(0, 262) = 0.30030159661577837671;
  points(1, 262) = 0.68509913212524531367;
  points(0, 263) = 0.014599271258976254106;
  points(1, 263) = 0.30030159661577859875;
  points(0, 264) = 0.30056135371681097501;
  points(1, 264) = 0.0028181145969260871544;
  points(0, 265) = 0.69662053168626292265;
  points(1, 265) = 0.30056135371681103052;
  points(0, 266) = 0.002818114596926046822;
  points(1, 266) = 0.69662053168626325572;
  points(0, 267) = 0.69662053168626292265;
  points(1, 267) = 0.0028181145969260871544;
  points(0, 268) = 0.30056135371681108603;
  points(1, 268) = 0.69662053168626292265;
  points(0, 269) = 0.0028181145969259080442;
  points(1, 269) = 0.30056135371681130808;
  points(0, 270) = 0.060523979398731220236;
  points(1, 270) = 0.034134499559379742617;
  points(0, 271) = 0.90534152104188891919;
  points(1, 271) = 0.060523979398731227175;
  points(0, 272) = 0.034134499559379860578;
  points(1, 272) = 0.90534152104188914123;
  points(0, 273) = 0.90534152104188903021;
  points(1, 273) = 0.034134499559379742617;
  points(0, 274) = 0.060523979398731331258;
  points(1, 274) = 0.90534152104188914123;
  points(0, 275) = 0.034134499559379472;
  points(1, 275) = 0.060523979398731546364;
  points(0, 276) = 0.30078591923388936502;
  points(1, 276) = 0.19335547727641833049;
  points(0, 277) = 0.50585860348969236;
  points(1, 277) = 0.30078591923388942053;
  points(0, 278) = 0.19335547727641827498;
  points(1, 278) = 0.50585860348969247102;
  points(0, 279) = 0.50585860348969236;
  points(1, 279) = 0.19335547727641833049;
  points(0, 280) = 0.30078591923388936502;
  points(1, 280) = 0.50585860348969247102;
  points(0, 281) = 0.19335547727641821947;
  points(1, 281) = 0.30078591923388953155;
  points(0, 282) = 0.18955070397768519763;
  points(1, 282) = 0.097362969750150879511;
  points(0, 283) = 0.71308632627216383959;
  points(1, 283) = 0.18955070397768525314;
  points(0, 284) = 0.097362969750150851755;
  points(1, 284) = 0.71308632627216417266;
  points(0, 285) = 0.71308632627216395061;
  points(1, 285) = 0.097362969750150879511;
  points(0, 286) = 0.18955070397768525314;
  points(1, 286) = 0.71308632627216406163;
  points(0, 287) = 0.097362969750150671344;
  points(1, 287) = 0.18955070397768550294;
  points(0, 288) = 0.43013990336214891208;
  points(1, 288) = 0.0027883024051114269244;
  points(0, 289) = 0.56707179423273967878;
  points(1, 289) = 0.43013990336214896759;
  points(0, 290) = 0.0027883024051114091435;
  points(1, 290) = 0.56707179423273990082;
  points(0, 291) = 0.56707179423273967878;
  points(1, 291) = 0.0027883024051114269244;
  points(0, 292) = 0.43013990336214885657;
  points(1, 292) = 0.5670717942327397898;
  points(0, 293) = 0.0027883024051112981212;
  points(1, 293) = 0.43013990336214913413;
  points(0, 294) = 0.18701857221766468586;
  points(1, 294) = 0.0027559624464837196092;
  points(0, 295) = 0.81022546533585160233;
  points(1, 295) = 0.18701857221766471362;
  points(0, 296) = 0.0027559624464836840474;
  points(1, 296) = 0.81022546533585182438;
  points(0, 297) = 0.81022546533585160233;
  points(1, 297) = 0.0027559624464837196092;
  points(0, 298) = 0.18701857221766476913;
  points(1, 298) = 0.81022546533585171336;
  points(0, 299) = 0.0027559624464835452695;
  points(1, 299) = 0.18701857221766499118;
  points(0, 300) = 0.37918952250900744838;
  points(1, 300) = 0.097827107158867762648;
  points(0, 301) = 0.52298337033212471958;
  points(1, 301) = 0.3791895225090075594;
  points(0, 302) = 0.097827107158867665504;
  points(1, 302) = 0.52298337033212494163;
  points(0, 303) = 0.5229833703321248306;
  points(1, 303) = 0.097827107158867762648;
  points(0, 304) = 0.37918952250900750389;
  points(1, 304) = 0.52298337033212494163;
  points(0, 305) = 0.097827107158867609993;
  points(1, 305) = 0.37918952250900772594;
  points(0, 306) = 0.31296697698215925065;
  points(1, 306) = 0.099573685636870967741;
  points(0, 307) = 0.58745933738096978161;
  points(1, 307) = 0.31296697698215930616;
  points(0, 308) = 0.09957368563687091223;
  points(1, 308) = 0.58745933738097000365;
  points(0, 309) = 0.58745933738096978161;
  points(1, 309) = 0.099573685636870967741;
  points(0, 310) = 0.31296697698215936168;
  points(1, 310) = 0.58745933738096978161;
  points(0, 311) = 0.099573685636870828963;
  points(1, 311) = 0.31296697698215952821;
  points(0, 312) = 0.14180448701728898264;
  points(1, 312) = 0.034114351666264870755;
  points(0, 313) = 0.82408116131644615354;
  points(1, 313) = 0.14180448701728895489;
  points(0, 314) = 0.034114351666264919327;
  points(1, 314) = 0.82408116131644637559;
  points(0, 315) = 0.82408116131644615354;
  points(1, 315) = 0.034114351666264870755;
  points(0, 316) = 0.14180448701728909366;
  points(1, 316) = 0.82408116131644626456;
  points(0, 317) = 0.03411435166626458626;
  points(1, 317) = 0.14180448701728931571;
  points(0, 318) = 0.4528922608459510224;
  points(1, 318) = 0.094215478308097969085;
  points(0, 319) = 0.4528922608459510224;
  points(1, 319) = 0.45289226084595113342;
  points(0, 320) = 0.094215478308097899696;
  points(1, 320) = 0.45289226084595124444;
  points(0, 321) = 0.24818146001558849534;
  points(1, 321) = 0.10049744327292842172;
  points(0, 322) = 0.65132109671148308294;
  points(1, 322) = 0.24818146001558855085;
  points(0, 323) = 0.10049744327292847723;
  points(1, 323) = 0.65132109671148319396;
  points(0, 324) = 0.65132109671148308294;
  points(1, 324) = 0.10049744327292842172;
  points(0, 325) = 0.24818146001558855085;
  points(1, 325) = 0.65132109671148319396;
  points(0, 326) = 0.10049744327292824131;
  points(1, 326) = 0.24818146001558874514;
  points(0, 327) = 0.35879783540799869979;
  points(1, 327) = 0.06167380369655169059;
  points(0, 328) = 0.57952836089544956799;
  points(1, 328) = 0.35879783540799869979;
  points(0, 329) = 0.061673803696551676712;
  points(1, 329) = 0.57952836089544979004;
  points(0, 330) = 0.57952836089544967901;
  points(1, 330) = 0.06167380369655169059;
  points(0, 331) = 0.3587978354079987553;
  points(1, 331) = 0.57952836089544967901;
  points(0, 332) = 0.061673803696551537934;
  points(1, 332) = 0.35879783540799897734;
  points(0, 333) = 0.092867046214047871411;
  points(1, 333) = 0.092867046214048107333;
  points(0, 334) = 0.81426590757190397962;
  points(1, 334) = 0.092867046214047913044;
  points(0, 335) = 0.092867046214048121211;
  points(1, 335) = 0.81426590757190420167;
  points(0, 336) = 0.25248493264909072087;
  points(1, 336) = 0.2524849326490908874;
  points(0, 337) = 0.49503013470181844724;
  points(1, 337) = 0.25248493264909083189;
  points(0, 338) = 0.2524849326490908874;
  points(1, 338) = 0.49503013470181850275;

  weights(0) = 0.0015399827845908164309;
  weights(1) = 0.0015399827845908164309;
  weights(2) = 0.0015399827845908164309;
  weights(3) = 0.001243674110123241857;
  weights(4) = 0.001243674110123241857;
  weights(5) = 0.001243674110123241857;
  weights(6) = 0.0019563191704087845059;
  weights(7) = 0.0019563191704087845059;
  weights(8) = 0.0019563191704087845059;
  weights(9) = 0.0019563191704087845059;
  weights(10) = 0.0019563191704087845059;
  weights(11) = 0.0019563191704087845059;
  weights(12) = 0.00030430786109039004422;
  weights(13) = 0.00030430786109039004422;
  weights(14) = 0.00030430786109039004422;
  weights(15) = 0.0029390411668795777406;
  weights(16) = 0.0029390411668795777406;
  weights(17) = 0.0029390411668795777406;
  weights(18) = 0.0013287798860385602144;
  weights(19) = 0.0013287798860385602144;
  weights(20) = 0.0013287798860385602144;
  weights(21) = 0.0013287798860385602144;
  weights(22) = 0.0013287798860385602144;
  weights(23) = 0.0013287798860385602144;
  weights(24) = 0.00052019292880818134971;
  weights(25) = 0.00052019292880818134971;
  weights(26) = 0.00052019292880818134971;
  weights(27) = 0.00052019292880818134971;
  weights(28) = 0.00052019292880818134971;
  weights(29) = 0.00052019292880818134971;
  weights(30) = 0.0019344111227620813462;
  weights(31) = 0.0019344111227620813462;
  weights(32) = 0.0019344111227620813462;
  weights(33) = 0.0019344111227620813462;
  weights(34) = 0.0019344111227620813462;
  weights(35) = 0.0019344111227620813462;
  weights(36) = 0.0027180039607925298231;
  weights(37) = 0.0027180039607925298231;
  weights(38) = 0.0027180039607925298231;
  weights(39) = 0.0027180039607925298231;
  weights(40) = 0.0027180039607925298231;
  weights(41) = 0.0027180039607925298231;
  weights(42) = 0.0025665105385067254681;
  weights(43) = 0.0025665105385067254681;
  weights(44) = 0.0025665105385067254681;
  weights(45) = 0.0025665105385067254681;
  weights(46) = 0.0025665105385067254681;
  weights(47) = 0.0025665105385067254681;
  weights(48) = 0.0034342444832574773629;
  weights(49) = 0.0034342444832574773629;
  weights(50) = 0.0034342444832574773629;
  weights(51) = 0.001362442630203240454;
  weights(52) = 0.001362442630203240454;
  weights(53) = 0.001362442630203240454;
  weights(54) = 0.001362442630203240454;
  weights(55) = 0.001362442630203240454;
  weights(56) = 0.001362442630203240454;
  weights(57) = 0.00080715362195787692615;
  weights(58) = 0.00080715362195787692615;
  weights(59) = 0.00080715362195787692615;
  weights(60) = 0.0015409639138513015009;
  weights(61) = 0.0015409639138513015009;
  weights(62) = 0.0015409639138513015009;
  weights(63) = 0.0015409639138513015009;
  weights(64) = 0.0015409639138513015009;
  weights(65) = 0.0015409639138513015009;
  weights(66) = 0.00054181121463552420463;
  weights(67) = 0.00054181121463552420463;
  weights(68) = 0.00054181121463552420463;
  weights(69) = 0.001098007330448255367;
  weights(70) = 0.001098007330448255367;
  weights(71) = 0.001098007330448255367;
  weights(72) = 0.001098007330448255367;
  weights(73) = 0.001098007330448255367;
  weights(74) = 0.001098007330448255367;
  weights(75) = 0.0013535858145947343625;
  weights(76) = 0.0013535858145947343625;
  weights(77) = 0.0013535858145947343625;
  weights(78) = 0.0013535858145947343625;
  weights(79) = 0.0013535858145947343625;
  weights(80) = 0.0013535858145947343625;
  weights(81) = 0.00088662528315149936094;
  weights(82) = 0.00088662528315149936094;
  weights(83) = 0.00088662528315149936094;
  weights(84) = 0.00088662528315149936094;
  weights(85) = 0.00088662528315149936094;
  weights(86) = 0.00088662528315149936094;
  weights(87) = 0.0013583025341475886069;
  weights(88) = 0.0013583025341475886069;
  weights(89) = 0.0013583025341475886069;
  weights(90) = 0.0010597047660427997944;
  weights(91) = 0.0010597047660427997944;
  weights(92) = 0.0010597047660427997944;
  weights(93) = 0.0010597047660427997944;
  weights(94) = 0.0010597047660427997944;
  weights(95) = 0.0010597047660427997944;
  weights(96) = 0.0010121646522748268919;
  weights(97) = 0.0010121646522748268919;
  weights(98) = 0.0010121646522748268919;
  weights(99) = 0.00069113291369982609528;
  weights(100) = 0.00069113291369982609528;
  weights(101) = 0.00069113291369982609528;
  weights(102) = 0.00069113291369982609528;
  weights(103) = 0.00069113291369982609528;
  weights(104) = 0.00069113291369982609528;
  weights(105) = 0.00041438980113799050737;
  weights(106) = 0.00041438980113799050737;
  weights(107) = 0.00041438980113799050737;
  weights(108) = 0.00041438980113799050737;
  weights(109) = 0.00041438980113799050737;
  weights(110) = 0.00041438980113799050737;
  weights(111) = 0.0021227159605321619003;
  weights(112) = 0.0021227159605321619003;
  weights(113) = 0.0021227159605321619003;
  weights(114) = 0.0028804649851841561577;
  weights(115) = 0.0028804649851841561577;
  weights(116) = 0.0028804649851841561577;
  weights(117) = 0.0028804649851841561577;
  weights(118) = 0.0028804649851841561577;
  weights(119) = 0.0028804649851841561577;
  weights(120) = 0.0002360510527896034791;
  weights(121) = 0.0002360510527896034791;
  weights(122) = 0.0002360510527896034791;
  weights(123) = 0.00024332032678946719883;
  weights(124) = 0.00024332032678946719883;
  weights(125) = 0.00024332032678946719883;
  weights(126) = 0.00024332032678946719883;
  weights(127) = 0.00024332032678946719883;
  weights(128) = 0.00024332032678946719883;
  weights(129) = 0.003030585302248327631;
  weights(130) = 0.003030585302248327631;
  weights(131) = 0.003030585302248327631;
  weights(132) = 0.003030585302248327631;
  weights(133) = 0.003030585302248327631;
  weights(134) = 0.003030585302248327631;
  weights(135) = 0.0019795801765006594553;
  weights(136) = 0.0019795801765006594553;
  weights(137) = 0.0019795801765006594553;
  weights(138) = 0.0019795801765006594553;
  weights(139) = 0.0019795801765006594553;
  weights(140) = 0.0019795801765006594553;
  weights(141) = 0.00097576528074235088176;
  weights(142) = 0.00097576528074235088176;
  weights(143) = 0.00097576528074235088176;
  weights(144) = 0.00097576528074235088176;
  weights(145) = 0.00097576528074235088176;
  weights(146) = 0.00097576528074235088176;
  weights(147) = 0.001587932009789250155;
  weights(148) = 0.001587932009789250155;
  weights(149) = 0.001587932009789250155;
  weights(150) = 0.001587932009789250155;
  weights(151) = 0.001587932009789250155;
  weights(152) = 0.001587932009789250155;
  weights(153) = 0.00020888448920124017341;
  weights(154) = 0.00020888448920124017341;
  weights(155) = 0.00020888448920124017341;
  weights(156) = 0.00020888448920124017341;
  weights(157) = 0.00020888448920124017341;
  weights(158) = 0.00020888448920124017341;
  weights(159) = 0.0014018992565018751489;
  weights(160) = 0.0014018992565018751489;
  weights(161) = 0.0014018992565018751489;
  weights(162) = 0.0014018992565018751489;
  weights(163) = 0.0014018992565018751489;
  weights(164) = 0.0014018992565018751489;
  weights(165) = 0.0001537161500620599767;
  weights(166) = 0.0001537161500620599767;
  weights(167) = 0.0001537161500620599767;
  weights(168) = 0.0001537161500620599767;
  weights(169) = 0.0001537161500620599767;
  weights(170) = 0.0001537161500620599767;
  weights(171) = 0.00037902393725783913589;
  weights(172) = 0.00037902393725783913589;
  weights(173) = 0.00037902393725783913589;
  weights(174) = 0.00037902393725783913589;
  weights(175) = 0.00037902393725783913589;
  weights(176) = 0.00037902393725783913589;
  weights(177) = 0.00081428009359570910786;
  weights(178) = 0.00081428009359570910786;
  weights(179) = 0.00081428009359570910786;
  weights(180) = 0.00081428009359570910786;
  weights(181) = 0.00081428009359570910786;
  weights(182) = 0.00081428009359570910786;
  weights(183) = 0.00050079075756584770767;
  weights(184) = 0.00050079075756584770767;
  weights(185) = 0.00050079075756584770767;
  weights(186) = 0.00050079075756584770767;
  weights(187) = 0.00050079075756584770767;
  weights(188) = 0.00050079075756584770767;
  weights(189) = 9.485175461054851727e-05;
  weights(190) = 9.485175461054851727e-05;
  weights(191) = 9.485175461054851727e-05;
  weights(192) = 9.485175461054851727e-05;
  weights(193) = 9.485175461054851727e-05;
  weights(194) = 9.485175461054851727e-05;
  weights(195) = 4.286628833994110191e-05;
  weights(196) = 4.286628833994110191e-05;
  weights(197) = 4.286628833994110191e-05;
  weights(198) = 0.0026676376711980945462;
  weights(199) = 0.0026676376711980945462;
  weights(200) = 0.0026676376711980945462;
  weights(201) = 0.0019612968594132154654;
  weights(202) = 0.0019612968594132154654;
  weights(203) = 0.0019612968594132154654;
  weights(204) = 0.0019612968594132154654;
  weights(205) = 0.0019612968594132154654;
  weights(206) = 0.0019612968594132154654;
  weights(207) = 0.00036763222453555665812;
  weights(208) = 0.00036763222453555665812;
  weights(209) = 0.00036763222453555665812;
  weights(210) = 0.00036763222453555665812;
  weights(211) = 0.00036763222453555665812;
  weights(212) = 0.00036763222453555665812;
  weights(213) = 0.0034748404345282895254;
  weights(214) = 0.0034748404345282895254;
  weights(215) = 0.0034748404345282895254;
  weights(216) = 0.0013138750491332939433;
  weights(217) = 0.0013138750491332939433;
  weights(218) = 0.0013138750491332939433;
  weights(219) = 0.0013138750491332939433;
  weights(220) = 0.0013138750491332939433;
  weights(221) = 0.0013138750491332939433;
  weights(222) = 0.00092081695951395632713;
  weights(223) = 0.00092081695951395632713;
  weights(224) = 0.00092081695951395632713;
  weights(225) = 0.00092081695951395632713;
  weights(226) = 0.00092081695951395632713;
  weights(227) = 0.00092081695951395632713;
  weights(228) = 0.0029625163863368801295;
  weights(229) = 0.0029625163863368801295;
  weights(230) = 0.0029625163863368801295;
  weights(231) = 0.0029625163863368801295;
  weights(232) = 0.0029625163863368801295;
  weights(233) = 0.0029625163863368801295;
  weights(234) = 0.00030616942040714514731;
  weights(235) = 0.00030616942040714514731;
  weights(236) = 0.00030616942040714514731;
  weights(237) = 0.00030616942040714514731;
  weights(238) = 0.00030616942040714514731;
  weights(239) = 0.00030616942040714514731;
  weights(240) = 0.0019124817242394290089;
  weights(241) = 0.0019124817242394290089;
  weights(242) = 0.0019124817242394290089;
  weights(243) = 0.0019124817242394290089;
  weights(244) = 0.0019124817242394290089;
  weights(245) = 0.0019124817242394290089;
  weights(246) = 0.0020641516111031283504;
  weights(247) = 0.0020641516111031283504;
  weights(248) = 0.0020641516111031283504;
  weights(249) = 0.0020641516111031283504;
  weights(250) = 0.0020641516111031283504;
  weights(251) = 0.0020641516111031283504;
  weights(252) = 0.0033460160208706149661;
  weights(253) = 0.0033460160208706149661;
  weights(254) = 0.0033460160208706149661;
  weights(255) = 0.0033460160208706149661;
  weights(256) = 0.0033460160208706149661;
  weights(257) = 0.0033460160208706149661;
  weights(258) = 0.0010236414736964902835;
  weights(259) = 0.0010236414736964902835;
  weights(260) = 0.0010236414736964902835;
  weights(261) = 0.0010236414736964902835;
  weights(262) = 0.0010236414736964902835;
  weights(263) = 0.0010236414736964902835;
  weights(264) = 0.00043900783958254540685;
  weights(265) = 0.00043900783958254540685;
  weights(266) = 0.00043900783958254540685;
  weights(267) = 0.00043900783958254540685;
  weights(268) = 0.00043900783958254540685;
  weights(269) = 0.00043900783958254540685;
  weights(270) = 0.00078889255927293896326;
  weights(271) = 0.00078889255927293896326;
  weights(272) = 0.00078889255927293896326;
  weights(273) = 0.00078889255927293896326;
  weights(274) = 0.00078889255927293896326;
  weights(275) = 0.00078889255927293896326;
  weights(276) = 0.0031537179554942031817;
  weights(277) = 0.0031537179554942031817;
  weights(278) = 0.0031537179554942031817;
  weights(279) = 0.0031537179554942031817;
  weights(280) = 0.0031537179554942031817;
  weights(281) = 0.0031537179554942031817;
  weights(282) = 0.0021363199105265836229;
  weights(283) = 0.0021363199105265836229;
  weights(284) = 0.0021363199105265836229;
  weights(285) = 0.0021363199105265836229;
  weights(286) = 0.0021363199105265836229;
  weights(287) = 0.0021363199105265836229;
  weights(288) = 0.00048491867311962994847;
  weights(289) = 0.00048491867311962994847;
  weights(290) = 0.00048491867311962994847;
  weights(291) = 0.00048491867311962994847;
  weights(292) = 0.00048491867311962994847;
  weights(293) = 0.00048491867311962994847;
  weights(294) = 0.00036900913522893146346;
  weights(295) = 0.00036900913522893146346;
  weights(296) = 0.00036900913522893146346;
  weights(297) = 0.00036900913522893146346;
  weights(298) = 0.00036900913522893146346;
  weights(299) = 0.00036900913522893146346;
  weights(300) = 0.0026309406800637592273;
  weights(301) = 0.0026309406800637592273;
  weights(302) = 0.0026309406800637592273;
  weights(303) = 0.0026309406800637592273;
  weights(304) = 0.0026309406800637592273;
  weights(305) = 0.0026309406800637592273;
  weights(306) = 0.0026501359874991259509;
  weights(307) = 0.0026501359874991259509;
  weights(308) = 0.0026501359874991259509;
  weights(309) = 0.0026501359874991259509;
  weights(310) = 0.0026501359874991259509;
  weights(311) = 0.0026501359874991259509;
  weights(312) = 0.0012279005051395847602;
  weights(313) = 0.0012279005051395847602;
  weights(314) = 0.0012279005051395847602;
  weights(315) = 0.0012279005051395847602;
  weights(316) = 0.0012279005051395847602;
  weights(317) = 0.0012279005051395847602;
  weights(318) = 0.0026664027102005064852;
  weights(319) = 0.0026664027102005064852;
  weights(320) = 0.0026664027102005064852;
  weights(321) = 0.002527805197578842332;
  weights(322) = 0.002527805197578842332;
  weights(323) = 0.002527805197578842332;
  weights(324) = 0.002527805197578842332;
  weights(325) = 0.002527805197578842332;
  weights(326) = 0.002527805197578842332;
  weights(327) = 0.0022170954845651055787;
  weights(328) = 0.0022170954845651055787;
  weights(329) = 0.0022170954845651055787;
  weights(330) = 0.0022170954845651055787;
  weights(331) = 0.0022170954845651055787;
  weights(332) = 0.0022170954845651055787;
  weights(333) = 0.0016453530729269982141;
  weights(334) = 0.0016453530729269982141;
  weights(335) = 0.0016453530729269982141;
  weights(336) = 0.0036571045715601698499;
  weights(337) = 0.0036571045715601698499;
  weights(338) = 0.0036571045715601698499;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 43);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 44>() { // NOLINT
  Eigen::MatrixXd points(2, 354);
  Eigen::VectorXd weights(354);

  points(0, 0) = 0.0017123075799636998297;
  points(1, 0) = 0.0017123075799640144652;
  points(0, 1) = 0.99657538484007224255;
  points(1, 1) = 0.0017123075799636939751;
  points(0, 2) = 0.0017123075799641007677;
  points(1, 2) = 0.9965753848400724646;
  points(0, 3) = 0.019755167615719736174;
  points(1, 3) = 0.010756719556684293804;
  points(0, 4) = 0.96948811282759594921;
  points(1, 4) = 0.01975516761571969801;
  points(0, 5) = 0.010756719556684390948;
  points(1, 5) = 0.96948811282759617125;
  points(0, 6) = 0.96948811282759606023;
  points(1, 6) = 0.010756719556684293804;
  points(0, 7) = 0.019755167615719770868;
  points(1, 7) = 0.96948811282759617125;
  points(0, 8) = 0.010756719556684040534;
  points(1, 8) = 0.019755167615720083119;
  points(0, 9) = 0.099516581381844618215;
  points(1, 9) = 0.00078058589986193342974;
  points(0, 10) = 0.89970283271829343263;
  points(1, 10) = 0.099516581381844632093;
  points(0, 11) = 0.00078058589986201853961;
  points(1, 11) = 0.89970283271829354366;
  points(0, 12) = 0.89970283271829343263;
  points(1, 12) = 0.00078058589986193342974;
  points(0, 13) = 0.099516581381844770871;
  points(1, 13) = 0.89970283271829354366;
  points(0, 14) = 0.00078058589986173404496;
  points(1, 14) = 0.099516581381844951282;
  points(0, 15) = 0.1534945447552138742;
  points(1, 15) = 0.0019383329127905903674;
  points(0, 16) = 0.84456712233199549011;
  points(1, 16) = 0.1534945447552138742;
  points(0, 17) = 0.0019383329127906634426;
  points(1, 17) = 0.84456712233199571216;
  points(0, 18) = 0.84456712233199549011;
  points(1, 18) = 0.0019383329127905903674;
  points(0, 19) = 0.15349454475521395747;
  points(1, 19) = 0.84456712233199571216;
  points(0, 20) = 0.0019383329127903581313;
  points(1, 20) = 0.15349454475521423502;
  points(0, 21) = 0.4606074520039988851;
  points(1, 21) = 0.0017861424805254105894;
  points(0, 22) = 0.53760640551547578259;
  points(1, 22) = 0.46060745200399894062;
  points(0, 23) = 0.0017861424805253878212;
  points(1, 23) = 0.53760640551547589361;
  points(0, 24) = 0.53760640551547567156;
  points(1, 24) = 0.0017861424805254105894;
  points(0, 25) = 0.46060745200399894062;
  points(1, 25) = 0.53760640551547578259;
  points(0, 26) = 0.0017861424805252767989;
  points(1, 26) = 0.46060745200399921817;
  points(0, 27) = 0.029642060426444391541;
  points(1, 27) = 0.001754225171052755175;
  points(0, 28) = 0.96860371440250270236;
  points(1, 28) = 0.029642060426444370724;
  points(0, 29) = 0.0017542251710528922182;
  points(1, 29) = 0.96860371440250292441;
  points(0, 30) = 0.96860371440250292441;
  points(1, 30) = 0.001754225171052755175;
  points(0, 31) = 0.029642060426444405419;
  points(1, 31) = 0.96860371440250314645;
  points(0, 32) = 0.0017542251710524446595;
  points(1, 32) = 0.029642060426444689913;
  points(0, 33) = 0.33384062482481180467;
  points(1, 33) = 0.00051729425966006998671;
  points(0, 34) = 0.66564208091552812263;
  points(1, 34) = 0.33384062482481186018;
  points(0, 35) = 0.00051729425966007269722;
  points(1, 35) = 0.66564208091552834468;
  points(0, 36) = 0.66564208091552812263;
  points(1, 36) = 0.00051729425966006998671;
  points(0, 37) = 0.33384062482481186018;
  points(1, 37) = 0.66564208091552823365;
  points(0, 38) = 0.00051729425965990616376;
  points(1, 38) = 0.33384062482481213774;
  points(0, 39) = 0.029167351465300486724;
  points(1, 39) = 0.029167351465300781627;
  points(0, 40) = 0.94166529706939872124;
  points(1, 40) = 0.029167351465300458968;
  points(0, 41) = 0.029167351465300861424;
  points(1, 41) = 0.94166529706939894329;
  points(0, 42) = 0.049549987912302417836;
  points(1, 42) = 0.049549987912302702331;
  points(0, 43) = 0.90090002417539483126;
  points(1, 43) = 0.049549987912302410897;
  points(0, 44) = 0.049549987912302861925;
  points(1, 44) = 0.90090002417539494228;
  points(0, 45) = 0.11942668722741196785;
  points(1, 45) = 0.0075458709257061103853;
  points(0, 46) = 0.87302744184688185758;
  points(1, 46) = 0.11942668722741198173;
  points(0, 47) = 0.0075458709257061884479;
  points(1, 47) = 0.87302744184688207962;
  points(0, 48) = 0.8730274418468819686;
  points(1, 48) = 0.0075458709257061103853;
  points(0, 49) = 0.11942668722741195397;
  points(1, 49) = 0.87302744184688207962;
  points(0, 50) = 0.0075458709257059317088;
  points(1, 50) = 0.11942668722741230092;
  points(0, 51) = 0.17331180669942891637;
  points(1, 51) = 0.011492546452805280435;
  points(0, 52) = 0.81519564684776568697;
  points(1, 52) = 0.17331180669942891637;
  points(0, 53) = 0.011492546452805452173;
  points(1, 53) = 0.81519564684776579799;
  points(0, 54) = 0.81519564684776579799;
  points(1, 54) = 0.011492546452805280435;
  points(0, 55) = 0.1733118066994290829;
  points(1, 55) = 0.81519564684776579799;
  points(0, 56) = 0.011492546452805119106;
  points(1, 56) = 0.17331180669942924943;
  points(0, 57) = 0.059397863385756616283;
  points(1, 57) = 0.024262967721104533592;
  points(0, 58) = 0.91633916889313882237;
  points(1, 58) = 0.059397863385756630161;
  points(0, 59) = 0.024262967721104589103;
  points(1, 59) = 0.91633916889313904441;
  points(0, 60) = 0.91633916889313882237;
  points(1, 60) = 0.024262967721104533592;
  points(0, 61) = 0.05939786338575669955;
  points(1, 61) = 0.91633916889313904441;
  points(0, 62) = 0.02426296772110435318;
  points(1, 62) = 0.05939786338575694935;
  points(0, 63) = 0.25944616462784314548;
  points(1, 63) = 0.0097976933024596420813;
  points(0, 64) = 0.73075614206969718989;
  points(1, 64) = 0.25944616462784320099;
  points(0, 65) = 0.0097976933024596091215;
  points(1, 65) = 0.73075614206969752296;
  points(0, 66) = 0.73075614206969718989;
  points(1, 66) = 0.0097976933024596420813;
  points(0, 67) = 0.2594461646278432565;
  points(1, 67) = 0.73075614206969718989;
  points(0, 68) = 0.0097976933024594703436;
  points(1, 68) = 0.25944616462784347855;
  points(0, 69) = 0.26966487953111778486;
  points(1, 69) = 0.0018991508282083366041;
  points(0, 70) = 0.72843596964067380828;
  points(1, 70) = 0.26966487953111784037;
  points(0, 71) = 0.0018991508282084068604;
  points(1, 71) = 0.72843596964067403032;
  points(0, 72) = 0.7284359696406739193;
  points(1, 72) = 0.0018991508282083366041;
  points(0, 73) = 0.26966487953111795139;
  points(1, 73) = 0.7284359696406739193;
  points(0, 74) = 0.0018991508282081570602;
  points(1, 74) = 0.26966487953111811793;
  points(0, 75) = 0.32342841041095643506;
  points(1, 75) = 0.0076746798561443466125;
  points(0, 76) = 0.66889690973289916975;
  points(1, 76) = 0.32342841041095649057;
  points(0, 77) = 0.0076746798561443396736;
  points(1, 77) = 0.6688969097328993918;
  points(0, 78) = 0.66889690973289916975;
  points(1, 78) = 0.0076746798561443466125;
  points(0, 79) = 0.32342841041095637955;
  points(1, 79) = 0.6688969097328993918;
  points(0, 80) = 0.0076746798561442008957;
  points(1, 80) = 0.32342841041095676813;
  points(0, 81) = 0.20939760943519247771;
  points(1, 81) = 0.0027072043077685922427;
  points(0, 82) = 0.7878951862570389153;
  points(1, 82) = 0.20939760943519250547;
  points(0, 83) = 0.0027072043077686069878;
  points(1, 83) = 0.78789518625703913735;
  points(0, 84) = 0.7878951862570389153;
  points(1, 84) = 0.0027072043077685922427;
  points(0, 85) = 0.20939760943519247771;
  points(1, 85) = 0.78789518625703913735;
  points(0, 86) = 0.0027072043077683571877;
  points(1, 86) = 0.20939760943519275527;
  points(0, 87) = 0.010793737386739540862;
  points(1, 87) = 0.0027063965571698933577;
  points(0, 88) = 0.98649986605609052415;
  points(1, 88) = 0.010793737386739494025;
  points(0, 89) = 0.0027063965571700876467;
  points(1, 89) = 0.98649986605609063517;
  points(0, 90) = 0.98649986605609052415;
  points(1, 90) = 0.0027063965571698933577;
  points(0, 91) = 0.010793737386739721273;
  points(1, 91) = 0.98649986605609063517;
  points(0, 92) = 0.0027063965571696756499;
  points(1, 92) = 0.010793737386739879133;
  points(0, 93) = 0.041657760026678924969;
  points(1, 93) = 0.010462734029639486621;
  points(0, 94) = 0.9478795059436815329;
  points(1, 94) = 0.041657760026678897214;
  points(0, 95) = 0.010462734029639653155;
  points(1, 95) = 0.94787950594368164392;
  points(0, 96) = 0.94787950594368164392;
  points(1, 96) = 0.010462734029639486621;
  points(0, 97) = 0.041657760026679035992;
  points(1, 97) = 0.94787950594368164392;
  points(0, 98) = 0.010462734029639281924;
  points(1, 98) = 0.041657760026679278853;
  points(0, 99) = 0.13930077441848223718;
  points(1, 99) = 0.021512860284919887999;
  points(0, 100) = 0.83918636529659784706;
  points(1, 100) = 0.13930077441848226494;
  points(0, 101) = 0.021512860284919999021;
  points(1, 101) = 0.83918636529659795809;
  points(0, 102) = 0.83918636529659784706;
  points(1, 102) = 0.021512860284919887999;
  points(0, 103) = 0.13930077441848226494;
  points(1, 103) = 0.83918636529659795809;
  points(0, 104) = 0.02151286028491969371;
  points(1, 104) = 0.139300774418482598;
  points(0, 105) = 0.48772398058315336034;
  points(1, 105) = 0.024552038833693296677;
  points(0, 106) = 0.48772398058315336034;
  points(1, 106) = 0.48772398058315347136;
  points(0, 107) = 0.024552038833693223818;
  points(1, 107) = 0.48772398058315358238;
  points(0, 108) = 0.097140757455529053166;
  points(1, 108) = 0.022824535634951972907;
  points(0, 109) = 0.88003470690951901556;
  points(1, 109) = 0.097140757455529053166;
  points(0, 110) = 0.02282453563495201454;
  points(1, 110) = 0.88003470690951912658;
  points(0, 111) = 0.88003470690951901556;
  points(1, 111) = 0.022824535634951972907;
  points(0, 112) = 0.097140757455529080922;
  points(1, 112) = 0.88003470690951912658;
  points(0, 113) = 0.022824535634951743923;
  points(1, 113) = 0.097140757455529400111;
  points(0, 114) = 0.15112480973897057801;
  points(1, 114) = 0.10008853030479002155;
  points(0, 115) = 0.74878665995623938656;
  points(1, 115) = 0.15112480973897063352;
  points(0, 116) = 0.10008853030479009094;
  points(1, 116) = 0.74878665995623949758;
  points(0, 117) = 0.74878665995623938656;
  points(1, 117) = 0.10008853030479002155;
  points(0, 118) = 0.15112480973897063352;
  points(1, 118) = 0.74878665995623949758;
  points(0, 119) = 0.10008853030478982726;
  points(1, 119) = 0.15112480973897088332;
  points(0, 120) = 0.49606180446547493146;
  points(1, 120) = 0.0078763910690500937156;
  points(0, 121) = 0.49606180446547498697;
  points(1, 121) = 0.49606180446547498697;
  points(0, 122) = 0.0078763910690500260614;
  points(1, 122) = 0.49606180446547520901;
  points(0, 123) = 0.39393239553515446705;
  points(1, 123) = 0.0031595695366355078249;
  points(0, 124) = 0.60290803492820999043;
  points(1, 124) = 0.39393239553515452256;
  points(0, 125) = 0.0031595695366354870082;
  points(1, 125) = 0.60290803492821021248;
  points(0, 126) = 0.60290803492820999043;
  points(1, 126) = 0.0031595695366355078249;
  points(0, 127) = 0.39393239553515441154;
  points(1, 127) = 0.60290803492821021248;
  points(0, 128) = 0.0031595695366353482303;
  points(1, 128) = 0.3939323955351547446;
  points(0, 129) = 0.12763745941732476674;
  points(1, 129) = 0.043567575280835164897;
  points(0, 130) = 0.82879496530183993652;
  points(1, 130) = 0.12763745941732476674;
  points(0, 131) = 0.043567575280835213469;
  points(1, 131) = 0.82879496530184026959;
  points(0, 132) = 0.82879496530184015857;
  points(1, 132) = 0.043567575280835164897;
  points(0, 133) = 0.12763745941732473899;
  points(1, 133) = 0.82879496530184026959;
  points(0, 134) = 0.043567575280834935914;
  points(1, 134) = 0.12763745941732507205;
  points(0, 135) = 0.21534278591705230399;
  points(1, 135) = 0.062815376245839563141;
  points(0, 136) = 0.72184183783710820226;
  points(1, 136) = 0.21534278591705233175;
  points(0, 137) = 0.062815376245839549263;
  points(1, 137) = 0.72184183783710831328;
  points(0, 138) = 0.72184183783710809124;
  points(1, 138) = 0.062815376245839563141;
  points(0, 139) = 0.2153427859170523595;
  points(1, 139) = 0.72184183783710831328;
  points(0, 140) = 0.062815376245839382729;
  points(1, 140) = 0.21534278591705258155;
  points(0, 141) = 0.18052388725602852571;
  points(1, 141) = 0.034691186616931157793;
  points(0, 142) = 0.7847849261270403165;
  points(1, 142) = 0.18052388725602852571;
  points(0, 143) = 0.034691186616931213305;
  points(1, 143) = 0.78478492612704042752;
  points(0, 144) = 0.7847849261270403165;
  points(1, 144) = 0.034691186616931157793;
  points(0, 145) = 0.18052388725602858122;
  points(1, 145) = 0.78478492612704042752;
  points(0, 146) = 0.034691186616930963504;
  points(1, 146) = 0.18052388725602880326;
  points(0, 147) = 0.37069747874972830415;
  points(1, 147) = 0.015952135768031176083;
  points(0, 148) = 0.61335038548224052324;
  points(1, 148) = 0.37069747874972835966;
  points(0, 149) = 0.015952135768031228125;
  points(1, 149) = 0.61335038548224063426;
  points(0, 150) = 0.61335038548224041222;
  points(1, 150) = 0.015952135768031176083;
  points(0, 151) = 0.37069747874972841517;
  points(1, 151) = 0.61335038548224052324;
  points(0, 152) = 0.015952135768031033836;
  points(1, 152) = 0.37069747874972863722;
  points(0, 153) = 0.2389043466345938671;
  points(1, 153) = 0.036565690980963974632;
  points(0, 154) = 0.72452996238444211663;
  points(1, 154) = 0.23890434663459389486;
  points(0, 155) = 0.036565690980964016266;
  points(1, 155) = 0.72452996238444233867;
  points(0, 156) = 0.72452996238444211663;
  points(1, 156) = 0.036565690980963974632;
  points(0, 157) = 0.23890434663459392262;
  points(1, 157) = 0.72452996238444233867;
  points(0, 158) = 0.036565690980963780343;
  points(1, 158) = 0.23890434663459417242;
  points(0, 159) = 0.076596115605173736851;
  points(1, 159) = 0.07659611560517405604;
  points(0, 160) = 0.84680776878965213772;
  points(1, 160) = 0.076596115605173695218;
  points(0, 161) = 0.076596115605174208696;
  points(1, 161) = 0.84680776878965224874;
  points(0, 162) = 0.40354450476491693367;
  points(1, 162) = 0.12286724840697120509;
  points(0, 163) = 0.47358824682811190288;
  points(1, 163) = 0.40354450476491698918;
  points(0, 164) = 0.1228672484069711357;
  points(1, 164) = 0.47358824682811212492;
  points(0, 165) = 0.47358824682811190288;
  points(1, 165) = 0.12286724840697120509;
  points(0, 166) = 0.40354450476491693367;
  points(1, 166) = 0.47358824682811195839;
  points(0, 167) = 0.12286724840697110794;
  points(1, 167) = 0.4035445047649171002;
  points(0, 168) = 0.25108861840106166952;
  points(1, 168) = 0.12206119203351080416;
  points(0, 169) = 0.62685018956542748469;
  points(1, 169) = 0.25108861840106178054;
  points(0, 170) = 0.12206119203351079028;
  points(1, 170) = 0.62685018956542770674;
  points(0, 171) = 0.62685018956542748469;
  points(1, 171) = 0.12206119203351080416;
  points(0, 172) = 0.25108861840106166952;
  points(1, 172) = 0.62685018956542770674;
  points(0, 173) = 0.12206119203351059599;
  points(1, 173) = 0.25108861840106194707;
  points(0, 174) = 0.31009246035300191968;
  points(1, 174) = 0.087827887032806792322;
  points(0, 175) = 0.60207965261419127412;
  points(1, 175) = 0.31009246035300197519;
  points(0, 176) = 0.087827887032806750689;
  points(1, 176) = 0.60207965261419149616;
  points(0, 177) = 0.60207965261419127412;
  points(1, 177) = 0.087827887032806792322;
  points(0, 178) = 0.31009246035300191968;
  points(1, 178) = 0.60207965261419149616;
  points(0, 179) = 0.087827887032806639667;
  points(1, 179) = 0.31009246035300219724;
  points(0, 180) = 0.41718893706811110977;
  points(1, 180) = 0.06568110305619649647;
  points(0, 181) = 0.51712995987569243539;
  points(1, 181) = 0.41718893706811110977;
  points(0, 182) = 0.065681103056196454837;
  points(1, 182) = 0.51712995987569265743;
  points(0, 183) = 0.51712995987569243539;
  points(1, 183) = 0.06568110305619649647;
  points(0, 184) = 0.41718893706811110977;
  points(1, 184) = 0.51712995987569243539;
  points(0, 185) = 0.065681103056196399326;
  points(1, 185) = 0.41718893706811133182;
  points(0, 186) = 0.47595184605277124357;
  points(1, 186) = 0.04809630789445748511;
  points(0, 187) = 0.47595184605277135459;
  points(1, 187) = 0.47595184605277129908;
  points(0, 188) = 0.048096307894457401844;
  points(1, 188) = 0.47595184605277152112;
  points(0, 189) = 0.084277197515868804145;
  points(1, 189) = 0.045720147184830563225;
  points(0, 190) = 0.87000265529930065345;
  points(1, 190) = 0.084277197515868790267;
  points(0, 191) = 0.045720147184830584042;
  points(1, 191) = 0.87000265529930087549;
  points(0, 192) = 0.87000265529930065345;
  points(1, 192) = 0.045720147184830563225;
  points(0, 193) = 0.084277197515868762512;
  points(1, 193) = 0.87000265529930087549;
  points(0, 194) = 0.045720147184830327303;
  points(1, 194) = 0.084277197515869109457;
  points(0, 195) = 0.28751728189049519102;
  points(1, 195) = 0.052803410895067029451;
  points(0, 196) = 0.65967930721443779341;
  points(1, 196) = 0.28751728189049530204;
  points(0, 197) = 0.052803410895067015574;
  points(1, 197) = 0.65967930721443790443;
  points(0, 198) = 0.65967930721443779341;
  points(1, 198) = 0.052803410895067029451;
  points(0, 199) = 0.28751728189049524653;
  points(1, 199) = 0.65967930721443790443;
  points(0, 200) = 0.052803410895066876796;
  points(1, 200) = 0.28751728189049546858;
  points(0, 201) = 0.10909554195723765446;
  points(1, 201) = 0.10909554195723789038;
  points(0, 202) = 0.78180891608552438576;
  points(1, 202) = 0.10909554195723762671;
  points(0, 203) = 0.10909554195723802916;
  points(1, 203) = 0.78180891608552460781;
  points(0, 204) = 0.34214218490699244146;
  points(1, 204) = 0.033262707550278582114;
  points(0, 205) = 0.62459510754272895561;
  points(1, 205) = 0.34214218490699249697;
  points(0, 206) = 0.033262707550278547419;
  points(1, 206) = 0.62459510754272917765;
  points(0, 207) = 0.62459510754272895561;
  points(1, 207) = 0.033262707550278582114;
  points(0, 208) = 0.34214218490699244146;
  points(1, 208) = 0.62459510754272917765;
  points(0, 209) = 0.033262707550278491908;
  points(1, 209) = 0.34214218490699266351;
  points(0, 210) = 0.23124700369384093568;
  points(1, 210) = 0.23124700369384112997;
  points(0, 211) = 0.53750599261231801762;
  points(1, 211) = 0.23124700369384101895;
  points(0, 212) = 0.23124700369384110221;
  points(1, 212) = 0.53750599261231801762;
  points(0, 213) = 0.19590819822365049263;
  points(1, 213) = 0.19590819822365074243;
  points(0, 214) = 0.60818360355269873718;
  points(1, 214) = 0.1959081982236505759;
  points(0, 215) = 0.19590819822365063141;
  points(1, 215) = 0.60818360355269895923;
  points(0, 216) = 0.29078133562748426089;
  points(1, 216) = 0.023090951165029835468;
  points(0, 217) = 0.68612771320748600079;
  points(1, 217) = 0.29078133562748426089;
  points(0, 218) = 0.023090951165029904857;
  points(1, 218) = 0.68612771320748600079;
  points(0, 219) = 0.68612771320748588977;
  points(1, 219) = 0.023090951165029835468;
  points(0, 220) = 0.29078133562748437191;
  points(1, 220) = 0.68612771320748600079;
  points(0, 221) = 0.023090951165029682812;
  points(1, 221) = 0.29078133562748453844;
  points(0, 222) = 0.077738529716100276956;
  points(1, 222) = 0.0084121228886458298407;
  points(0, 223) = 0.91384934739525391922;
  points(1, 223) = 0.077738529716100221445;
  points(0, 224) = 0.0084121228886460674978;
  points(1, 224) = 0.91384934739525391922;
  points(0, 225) = 0.91384934739525391922;
  points(1, 225) = 0.0084121228886458298407;
  points(0, 226) = 0.077738529716100346345;
  points(1, 226) = 0.91384934739525391922;
  points(0, 227) = 0.0084121228886456303475;
  points(1, 227) = 0.077738529716100610023;
  points(0, 228) = 0.058353808798156714399;
  points(1, 228) = 0.0018558446904390871364;
  points(0, 229) = 0.93979034651140413992;
  points(1, 229) = 0.058353808798156714399;
  points(0, 230) = 0.0018558446904392567056;
  points(1, 230) = 0.93979034651140425094;
  points(0, 231) = 0.93979034651140425094;
  points(1, 231) = 0.0018558446904390871364;
  points(0, 232) = 0.058353808798156825421;
  points(1, 232) = 0.93979034651140425094;
  points(0, 233) = 0.0018558446904388126164;
  points(1, 233) = 0.058353808798157102977;
  points(0, 234) = 0.35373621739118743523;
  points(1, 234) = 0.15186122149915340374;
  points(0, 235) = 0.49440256110965918879;
  points(1, 235) = 0.35373621739118749074;
  points(0, 236) = 0.15186122149915334822;
  points(1, 236) = 0.49440256110965935532;
  points(0, 237) = 0.4944025611096592443;
  points(1, 237) = 0.15186122149915340374;
  points(0, 238) = 0.35373621739118749074;
  points(1, 238) = 0.49440256110965929981;
  points(0, 239) = 0.15186122149915320945;
  points(1, 239) = 0.35373621739118765728;
  points(0, 240) = 0.1941036834219221352;
  points(1, 240) = 0.14669384649550376576;
  points(0, 241) = 0.65920247008257404353;
  points(1, 241) = 0.19410368342192219071;
  points(0, 242) = 0.14669384649550382127;
  points(1, 242) = 0.65920247008257415455;
  points(0, 243) = 0.65920247008257404353;
  points(1, 243) = 0.14669384649550376576;
  points(0, 244) = 0.19410368342192224622;
  points(1, 244) = 0.65920247008257415455;
  points(0, 245) = 0.14669384649550359923;
  points(1, 245) = 0.19410368342192241276;
  points(0, 246) = 0.11524468026207426719;
  points(1, 246) = 0.073058272423484796332;
  points(0, 247) = 0.81169704731444092261;
  points(1, 247) = 0.11524468026207428106;
  points(0, 248) = 0.073058272423484893476;
  points(1, 248) = 0.81169704731444103363;
  points(0, 249) = 0.81169704731444092261;
  points(1, 249) = 0.073058272423484796332;
  points(0, 250) = 0.11524468026207429494;
  points(1, 250) = 0.81169704731444103363;
  points(0, 251) = 0.073058272423484574287;
  points(1, 251) = 0.11524468026207454474;
  points(0, 252) = 0.25264891885682738693;
  points(1, 252) = 0.083320514580046689534;
  points(0, 253) = 0.66403056656312586803;
  points(1, 253) = 0.25264891885682738693;
  points(0, 254) = 0.083320514580046745046;
  points(1, 254) = 0.66403056656312609007;
  points(0, 255) = 0.66403056656312597905;
  points(1, 255) = 0.083320514580046689534;
  points(0, 256) = 0.25264891885682738693;
  points(1, 256) = 0.66403056656312609007;
  points(0, 257) = 0.083320514580046578512;
  points(1, 257) = 0.25264891885682760897;
  points(0, 258) = 0.37063812791103506461;
  points(1, 258) = 0.097670099519353764661;
  points(0, 259) = 0.53169177256961119848;
  points(1, 259) = 0.37063812791103512012;
  points(0, 260) = 0.097670099519353736905;
  points(1, 260) = 0.53169177256961130951;
  points(0, 261) = 0.53169177256961119848;
  points(1, 261) = 0.097670099519353764661;
  points(0, 262) = 0.37063812791103512012;
  points(1, 262) = 0.53169177256961130951;
  points(0, 263) = 0.097670099519353625883;
  points(1, 263) = 0.37063812791103534217;
  points(0, 264) = 0.19751076623532845544;
  points(1, 264) = 0.10212747323582023473;
  points(0, 265) = 0.70036176052885124044;
  points(1, 265) = 0.1975107662353284832;
  points(0, 266) = 0.10212747323582033188;
  points(1, 266) = 0.70036176052885135146;
  points(0, 267) = 0.70036176052885135146;
  points(1, 267) = 0.10212747323582023473;
  points(0, 268) = 0.19751076623532853871;
  points(1, 268) = 0.70036176052885135146;
  points(0, 269) = 0.10212747323582004044;
  points(1, 269) = 0.197510766235328733;
  points(0, 270) = 0.21910217877663959452;
  points(1, 270) = 0.016940122646793506073;
  points(0, 271) = 0.76395769857656681268;
  points(1, 271) = 0.21910217877663959452;
  points(0, 272) = 0.016940122646793565053;
  points(1, 272) = 0.76395769857656703472;
  points(0, 273) = 0.76395769857656681268;
  points(1, 273) = 0.016940122646793506073;
  points(0, 274) = 0.21910217877663962227;
  points(1, 274) = 0.76395769857656703472;
  points(0, 275) = 0.016940122646793329131;
  points(1, 275) = 0.21910217877663987207;
  points(0, 276) = 0.16474947145553414662;
  points(1, 276) = 0.064607414654394249021;
  points(0, 277) = 0.77064311389007156272;
  points(1, 277) = 0.16474947145553417438;
  points(0, 278) = 0.064607414654394346165;
  points(1, 278) = 0.77064311389007167374;
  points(0, 279) = 0.77064311389007167374;
  points(1, 279) = 0.064607414654394249021;
  points(0, 280) = 0.16474947145553425765;
  points(1, 280) = 0.77064311389007167374;
  points(0, 281) = 0.064607414654394013098;
  points(1, 281) = 0.16474947145553442418;
  points(0, 282) = 0.34875688743061494801;
  points(1, 282) = 0.19429349186192540477;
  points(0, 283) = 0.45694962070745970273;
  points(1, 283) = 0.34875688743061505903;
  points(0, 284) = 0.19429349186192529375;
  points(1, 284) = 0.45694962070745981375;
  points(0, 285) = 0.45694962070745959171;
  points(1, 285) = 0.19429349186192540477;
  points(0, 286) = 0.34875688743061505903;
  points(1, 286) = 0.45694962070745970273;
  points(0, 287) = 0.19429349186192529375;
  points(1, 287) = 0.34875688743061517005;
  points(0, 288) = 0.35585333005866232048;
  points(1, 288) = 0.058789587775321221208;
  points(0, 289) = 0.5853570821660165624;
  points(1, 289) = 0.35585333005866237599;
  points(0, 290) = 0.058789587775321228147;
  points(1, 290) = 0.58535708216601667342;
  points(0, 291) = 0.58535708216601645137;
  points(1, 291) = 0.058789587775321221208;
  points(0, 292) = 0.35585333005866237599;
  points(1, 292) = 0.5853570821660165624;
  points(0, 293) = 0.058789587775321089369;
  points(1, 293) = 0.35585333005866254252;
  points(0, 294) = 0.34871652898546939836;
  points(1, 294) = 0.24358497588517313837;
  points(0, 295) = 0.40769849512935751878;
  points(1, 295) = 0.34871652898546950938;
  points(0, 296) = 0.24358497588517302734;
  points(1, 296) = 0.40769849512935762981;
  points(0, 297) = 0.40769849512935751878;
  points(1, 297) = 0.24358497588517313837;
  points(0, 298) = 0.34871652898546934285;
  points(1, 298) = 0.4076984951293575743;
  points(0, 299) = 0.24358497588517297183;
  points(1, 299) = 0.34871652898546956489;
  points(0, 300) = 0.42232180820715137237;
  points(1, 300) = 0.15535638358569731077;
  points(0, 301) = 0.42232180820715137237;
  points(1, 301) = 0.42232180820715142788;
  points(0, 302) = 0.15535638358569725526;
  points(1, 302) = 0.42232180820715148339;
  points(0, 303) = 0.45488174995950592105;
  points(1, 303) = 0.090236500080988130135;
  points(0, 304) = 0.45488174995950597657;
  points(1, 304) = 0.45488174995950603208;
  points(0, 305) = 0.090236500080988046868;
  points(1, 305) = 0.4548817499595061431;
  points(0, 306) = 0.29070433554969604684;
  points(1, 306) = 0.18612596595616329176;
  points(0, 307) = 0.52316969849414063365;
  points(1, 307) = 0.29070433554969615786;
  points(0, 308) = 0.18612596595616320849;
  points(1, 308) = 0.52316969849414085569;
  points(0, 309) = 0.52316969849414063365;
  points(1, 309) = 0.18612596595616329176;
  points(0, 310) = 0.29070433554969604684;
  points(1, 310) = 0.52316969849414085569;
  points(0, 311) = 0.18612596595616306971;
  points(1, 311) = 0.29070433554969626888;
  points(0, 312) = 0.14390011954042081221;
  points(1, 312) = 0.14390011954042106201;
  points(0, 313) = 0.71219976091915815353;
  points(1, 313) = 0.14390011954042081221;
  points(0, 314) = 0.14390011954042103426;
  points(1, 314) = 0.71219976091915837557;
  points(0, 315) = 0.28986293481711367104;
  points(1, 315) = 0.23835701955255622631;
  points(0, 316) = 0.47178004563033004715;
  points(1, 316) = 0.28986293481711378206;
  points(0, 317) = 0.23835701955255619855;
  points(1, 317) = 0.47178004563033021368;
  points(0, 318) = 0.47178004563033015817;
  points(1, 318) = 0.23835701955255622631;
  points(0, 319) = 0.28986293481711367104;
  points(1, 319) = 0.47178004563033021368;
  points(0, 320) = 0.23835701955255608753;
  points(1, 320) = 0.28986293481711383757;
  points(0, 321) = 0.40234044785473538353;
  points(1, 321) = 0.1953191042905292607;
  points(0, 322) = 0.40234044785473532801;
  points(1, 322) = 0.40234044785473543904;
  points(0, 323) = 0.19531910429052920519;
  points(1, 323) = 0.40234044785473549455;
  points(0, 324) = 0.30938357544545797007;
  points(1, 324) = 0.13122961679197298057;
  points(0, 325) = 0.55938680776256899385;
  points(1, 325) = 0.30938357544545802558;
  points(0, 326) = 0.13122961679197298057;
  points(1, 326) = 0.5593868077625692159;
  points(0, 327) = 0.55938680776256899385;
  points(1, 327) = 0.13122961679197298057;
  points(0, 328) = 0.30938357544545791455;
  points(1, 328) = 0.5593868077625692159;
  points(0, 329) = 0.13122961679197284179;
  points(1, 329) = 0.30938357544545819211;
  points(0, 330) = 0.24697953909924444393;
  points(1, 330) = 0.16845897855247921049;
  points(0, 331) = 0.58456148234827631782;
  points(1, 331) = 0.24697953909924449944;
  points(0, 332) = 0.16845897855247921049;
  points(1, 332) = 0.58456148234827642884;
  points(0, 333) = 0.58456148234827631782;
  points(1, 333) = 0.16845897855247921049;
  points(0, 334) = 0.24697953909924447169;
  points(1, 334) = 0.58456148234827642884;
  points(0, 335) = 0.16845897855247904396;
  points(1, 335) = 0.24697953909924466598;
  points(0, 336) = 0.43534519512146518938;
  points(1, 336) = 0.01312546951122347573;
  points(0, 337) = 0.55152933536731130193;
  points(1, 337) = 0.43534519512146524489;
  points(0, 338) = 0.013125469511223453178;
  points(1, 338) = 0.55152933536731152397;
  points(0, 339) = 0.55152933536731130193;
  points(1, 339) = 0.01312546951122347573;
  points(0, 340) = 0.43534519512146524489;
  points(1, 340) = 0.55152933536731130193;
  points(0, 341) = 0.013125469511223342156;
  points(1, 341) = 0.43534519512146552245;
  points(0, 342) = 0.29429576569083393256;
  points(1, 342) = 0.29429576569083404358;
  points(0, 343) = 0.41140846861833202386;
  points(1, 343) = 0.29429576569083404358;
  points(0, 344) = 0.29429576569083393256;
  points(1, 344) = 0.41140846861833219039;
  points(0, 345) = 0.35161578879576893542;
  points(1, 345) = 0.29676842240846212917;
  points(0, 346) = 0.35161578879576893542;
  points(1, 346) = 0.35161578879576910195;
  points(0, 347) = 0.29676842240846190712;
  points(1, 347) = 0.35161578879576910195;
  points(0, 348) = 0.41370128931488309165;
  points(1, 348) = 0.034413440518580223904;
  points(0, 349) = 0.55188527016653676771;
  points(1, 349) = 0.41370128931488309165;
  points(0, 350) = 0.034413440518580196148;
  points(1, 350) = 0.55188527016653687873;
  points(0, 351) = 0.55188527016653665669;
  points(1, 351) = 0.034413440518580223904;
  points(0, 352) = 0.41370128931488309165;
  points(1, 352) = 0.55188527016653676771;
  points(0, 353) = 0.034413440518580140637;
  points(1, 353) = 0.41370128931488336921;

  weights(0) = 2.2152045457073754424e-05;
  weights(1) = 2.2152045457073754424e-05;
  weights(2) = 2.2152045457073754424e-05;
  weights(3) = 0.00020598782321847903956;
  weights(4) = 0.00020598782321847903956;
  weights(5) = 0.00020598782321847903956;
  weights(6) = 0.00020598782321847903956;
  weights(7) = 0.00020598782321847903956;
  weights(8) = 0.00020598782321847903956;
  weights(9) = 0.00013662042300184110426;
  weights(10) = 0.00013662042300184110426;
  weights(11) = 0.00013662042300184110426;
  weights(12) = 0.00013662042300184110426;
  weights(13) = 0.00013662042300184110426;
  weights(14) = 0.00013662042300184110426;
  weights(15) = 0.00026966422196494867127;
  weights(16) = 0.00026966422196494867127;
  weights(17) = 0.00026966422196494867127;
  weights(18) = 0.00026966422196494867127;
  weights(19) = 0.00026966422196494867127;
  weights(20) = 0.00026966422196494867127;
  weights(21) = 0.00033548948529101945944;
  weights(22) = 0.00033548948529101945944;
  weights(23) = 0.00033548948529101945944;
  weights(24) = 0.00033548948529101945944;
  weights(25) = 0.00033548948529101945944;
  weights(26) = 0.00033548948529101945944;
  weights(27) = 0.00011296576805697003431;
  weights(28) = 0.00011296576805697003431;
  weights(29) = 0.00011296576805697003431;
  weights(30) = 0.00011296576805697003431;
  weights(31) = 0.00011296576805697003431;
  weights(32) = 0.00011296576805697003431;
  weights(33) = 0.00016103315470916888482;
  weights(34) = 0.00016103315470916888482;
  weights(35) = 0.00016103315470916888482;
  weights(36) = 0.00016103315470916888482;
  weights(37) = 0.00016103315470916888482;
  weights(38) = 0.00016103315470916888482;
  weights(39) = 0.000561488691411858175;
  weights(40) = 0.000561488691411858175;
  weights(41) = 0.000561488691411858175;
  weights(42) = 0.00087257578276647338421;
  weights(43) = 0.00087257578276647338421;
  weights(44) = 0.00087257578276647338421;
  weights(45) = 0.0004838836513975668021;
  weights(46) = 0.0004838836513975668021;
  weights(47) = 0.0004838836513975668021;
  weights(48) = 0.0004838836513975668021;
  weights(49) = 0.0004838836513975668021;
  weights(50) = 0.0004838836513975668021;
  weights(51) = 0.00067333244609088093325;
  weights(52) = 0.00067333244609088093325;
  weights(53) = 0.00067333244609088093325;
  weights(54) = 0.00067333244609088093325;
  weights(55) = 0.00067333244609088093325;
  weights(56) = 0.00067333244609088093325;
  weights(57) = 0.00066875414199061796773;
  weights(58) = 0.00066875414199061796773;
  weights(59) = 0.00066875414199061796773;
  weights(60) = 0.00066875414199061796773;
  weights(61) = 0.00066875414199061796773;
  weights(62) = 0.00066875414199061796773;
  weights(63) = 0.00060471401834411605929;
  weights(64) = 0.00060471401834411605929;
  weights(65) = 0.00060471401834411605929;
  weights(66) = 0.00060471401834411605929;
  weights(67) = 0.00060471401834411605929;
  weights(68) = 0.00060471401834411605929;
  weights(69) = 0.0002986880708809415484;
  weights(70) = 0.0002986880708809415484;
  weights(71) = 0.0002986880708809415484;
  weights(72) = 0.0002986880708809415484;
  weights(73) = 0.0002986880708809415484;
  weights(74) = 0.0002986880708809415484;
  weights(75) = 0.00073410053186678564819;
  weights(76) = 0.00073410053186678564819;
  weights(77) = 0.00073410053186678564819;
  weights(78) = 0.00073410053186678564819;
  weights(79) = 0.00073410053186678564819;
  weights(80) = 0.00073410053186678564819;
  weights(81) = 0.00040052724260062076743;
  weights(82) = 0.00040052724260062076743;
  weights(83) = 0.00040052724260062076743;
  weights(84) = 0.00040052724260062076743;
  weights(85) = 0.00040052724260062076743;
  weights(86) = 0.00040052724260062076743;
  weights(87) = 9.2783521168866373236e-05;
  weights(88) = 9.2783521168866373236e-05;
  weights(89) = 9.2783521168866373236e-05;
  weights(90) = 9.2783521168866373236e-05;
  weights(91) = 9.2783521168866373236e-05;
  weights(92) = 9.2783521168866373236e-05;
  weights(93) = 0.00036071101321306160876;
  weights(94) = 0.00036071101321306160876;
  weights(95) = 0.00036071101321306160876;
  weights(96) = 0.00036071101321306160876;
  weights(97) = 0.00036071101321306160876;
  weights(98) = 0.00036071101321306160876;
  weights(99) = 0.00076608336202371480218;
  weights(100) = 0.00076608336202371480218;
  weights(101) = 0.00076608336202371480218;
  weights(102) = 0.00076608336202371480218;
  weights(103) = 0.00076608336202371480218;
  weights(104) = 0.00076608336202371480218;
  weights(105) = 0.0013648263582449668679;
  weights(106) = 0.0013648263582449668679;
  weights(107) = 0.0013648263582449668679;
  weights(108) = 0.00075451331021414761412;
  weights(109) = 0.00075451331021414761412;
  weights(110) = 0.00075451331021414761412;
  weights(111) = 0.00075451331021414761412;
  weights(112) = 0.00075451331021414761412;
  weights(113) = 0.00075451331021414761412;
  weights(114) = 0.0017008612364745089376;
  weights(115) = 0.0017008612364745089376;
  weights(116) = 0.0017008612364745089376;
  weights(117) = 0.0017008612364745089376;
  weights(118) = 0.0017008612364745089376;
  weights(119) = 0.0017008612364745089376;
  weights(120) = 0.00060225300670596225092;
  weights(121) = 0.00060225300670596225092;
  weights(122) = 0.00060225300670596225092;
  weights(123) = 0.00051799408190319302329;
  weights(124) = 0.00051799408190319302329;
  weights(125) = 0.00051799408190319302329;
  weights(126) = 0.00051799408190319302329;
  weights(127) = 0.00051799408190319302329;
  weights(128) = 0.00051799408190319302329;
  weights(129) = 0.0011887438463899313666;
  weights(130) = 0.0011887438463899313666;
  weights(131) = 0.0011887438463899313666;
  weights(132) = 0.0011887438463899313666;
  weights(133) = 0.0011887438463899313666;
  weights(134) = 0.0011887438463899313666;
  weights(135) = 0.0016976956170923394006;
  weights(136) = 0.0016976956170923394006;
  weights(137) = 0.0016976956170923394006;
  weights(138) = 0.0016976956170923394006;
  weights(139) = 0.0016976956170923394006;
  weights(140) = 0.0016976956170923394006;
  weights(141) = 0.0013520441912409104229;
  weights(142) = 0.0013520441912409104229;
  weights(143) = 0.0013520441912409104229;
  weights(144) = 0.0013520441912409104229;
  weights(145) = 0.0013520441912409104229;
  weights(146) = 0.0013520441912409104229;
  weights(147) = 0.0010085016951456447949;
  weights(148) = 0.0010085016951456447949;
  weights(149) = 0.0010085016951456447949;
  weights(150) = 0.0010085016951456447949;
  weights(151) = 0.0010085016951456447949;
  weights(152) = 0.0010085016951456447949;
  weights(153) = 0.0013959405662128856335;
  weights(154) = 0.0013959405662128856335;
  weights(155) = 0.0013959405662128856335;
  weights(156) = 0.0013959405662128856335;
  weights(157) = 0.0013959405662128856335;
  weights(158) = 0.0013959405662128856335;
  weights(159) = 0.0011828966553896248532;
  weights(160) = 0.0011828966553896248532;
  weights(161) = 0.0011828966553896248532;
  weights(162) = 0.0021502294328652488825;
  weights(163) = 0.0021502294328652488825;
  weights(164) = 0.0021502294328652488825;
  weights(165) = 0.0021502294328652488825;
  weights(166) = 0.0021502294328652488825;
  weights(167) = 0.0021502294328652488825;
  weights(168) = 0.002491928264596880889;
  weights(169) = 0.002491928264596880889;
  weights(170) = 0.002491928264596880889;
  weights(171) = 0.002491928264596880889;
  weights(172) = 0.002491928264596880889;
  weights(173) = 0.002491928264596880889;
  weights(174) = 0.002326648137833495656;
  weights(175) = 0.002326648137833495656;
  weights(176) = 0.002326648137833495656;
  weights(177) = 0.002326648137833495656;
  weights(178) = 0.002326648137833495656;
  weights(179) = 0.002326648137833495656;
  weights(180) = 0.0020639380211282527637;
  weights(181) = 0.0020639380211282527637;
  weights(182) = 0.0020639380211282527637;
  weights(183) = 0.0020639380211282527637;
  weights(184) = 0.0020639380211282527637;
  weights(185) = 0.0020639380211282527637;
  weights(186) = 0.0017555971341706073669;
  weights(187) = 0.0017555971341706073669;
  weights(188) = 0.0017555971341706073669;
  weights(189) = 0.001028910881176246404;
  weights(190) = 0.001028910881176246404;
  weights(191) = 0.001028910881176246404;
  weights(192) = 0.001028910881176246404;
  weights(193) = 0.001028910881176246404;
  weights(194) = 0.001028910881176246404;
  weights(195) = 0.0019469102292144066166;
  weights(196) = 0.0019469102292144066166;
  weights(197) = 0.0019469102292144066166;
  weights(198) = 0.0019469102292144066166;
  weights(199) = 0.0019469102292144066166;
  weights(200) = 0.0019469102292144066166;
  weights(201) = 0.001471734023597887249;
  weights(202) = 0.001471734023597887249;
  weights(203) = 0.001471734023597887249;
  weights(204) = 0.0013853806982777720509;
  weights(205) = 0.0013853806982777720509;
  weights(206) = 0.0013853806982777720509;
  weights(207) = 0.0013853806982777720509;
  weights(208) = 0.0013853806982777720509;
  weights(209) = 0.0013853806982777720509;
  weights(210) = 0.0033616214492365476679;
  weights(211) = 0.0033616214492365476679;
  weights(212) = 0.0033616214492365476679;
  weights(213) = 0.0024899294062594610685;
  weights(214) = 0.0024899294062594610685;
  weights(215) = 0.0024899294062594610685;
  weights(216) = 0.0012400719992533822209;
  weights(217) = 0.0012400719992533822209;
  weights(218) = 0.0012400719992533822209;
  weights(219) = 0.0012400719992533822209;
  weights(220) = 0.0012400719992533822209;
  weights(221) = 0.0012400719992533822209;
  weights(222) = 0.00043145109041677401612;
  weights(223) = 0.00043145109041677401612;
  weights(224) = 0.00043145109041677401612;
  weights(225) = 0.00043145109041677401612;
  weights(226) = 0.00043145109041677401612;
  weights(227) = 0.00043145109041677401612;
  weights(228) = 0.00016046658878714762297;
  weights(229) = 0.00016046658878714762297;
  weights(230) = 0.00016046658878714762297;
  weights(231) = 0.00016046658878714762297;
  weights(232) = 0.00016046658878714762297;
  weights(233) = 0.00016046658878714762297;
  weights(234) = 0.0024905043053087203009;
  weights(235) = 0.0024905043053087203009;
  weights(236) = 0.0024905043053087203009;
  weights(237) = 0.0024905043053087203009;
  weights(238) = 0.0024905043053087203009;
  weights(239) = 0.0024905043053087203009;
  weights(240) = 0.0025097889590407645478;
  weights(241) = 0.0025097889590407645478;
  weights(242) = 0.0025097889590407645478;
  weights(243) = 0.0025097889590407645478;
  weights(244) = 0.0025097889590407645478;
  weights(245) = 0.0025097889590407645478;
  weights(246) = 0.0013846164091467650509;
  weights(247) = 0.0013846164091467650509;
  weights(248) = 0.0013846164091467650509;
  weights(249) = 0.0013846164091467650509;
  weights(250) = 0.0013846164091467650509;
  weights(251) = 0.0013846164091467650509;
  weights(252) = 0.0018507903298394157068;
  weights(253) = 0.0018507903298394157068;
  weights(254) = 0.0018507903298394157068;
  weights(255) = 0.0018507903298394157068;
  weights(256) = 0.0018507903298394157068;
  weights(257) = 0.0018507903298394157068;
  weights(258) = 0.00253751872958100054;
  weights(259) = 0.00253751872958100054;
  weights(260) = 0.00253751872958100054;
  weights(261) = 0.00253751872958100054;
  weights(262) = 0.00253751872958100054;
  weights(263) = 0.00253751872958100054;
  weights(264) = 0.0021338383457740923987;
  weights(265) = 0.0021338383457740923987;
  weights(266) = 0.0021338383457740923987;
  weights(267) = 0.0021338383457740923987;
  weights(268) = 0.0021338383457740923987;
  weights(269) = 0.0021338383457740923987;
  weights(270) = 0.00086461365199406818843;
  weights(271) = 0.00086461365199406818843;
  weights(272) = 0.00086461365199406818843;
  weights(273) = 0.00086461365199406818843;
  weights(274) = 0.00086461365199406818843;
  weights(275) = 0.00086461365199406818843;
  weights(276) = 0.0016123699561219760786;
  weights(277) = 0.0016123699561219760786;
  weights(278) = 0.0016123699561219760786;
  weights(279) = 0.0016123699561219760786;
  weights(280) = 0.0016123699561219760786;
  weights(281) = 0.0016123699561219760786;
  weights(282) = 0.0026439738564809512483;
  weights(283) = 0.0026439738564809512483;
  weights(284) = 0.0026439738564809512483;
  weights(285) = 0.0026439738564809512483;
  weights(286) = 0.0026439738564809512483;
  weights(287) = 0.0026439738564809512483;
  weights(288) = 0.0020097921431825372697;
  weights(289) = 0.0020097921431825372697;
  weights(290) = 0.0020097921431825372697;
  weights(291) = 0.0020097921431825372697;
  weights(292) = 0.0020097921431825372697;
  weights(293) = 0.0020097921431825372697;
  weights(294) = 0.0030304166036500268522;
  weights(295) = 0.0030304166036500268522;
  weights(296) = 0.0030304166036500268522;
  weights(297) = 0.0030304166036500268522;
  weights(298) = 0.0030304166036500268522;
  weights(299) = 0.0030304166036500268522;
  weights(300) = 0.0024604186226233845138;
  weights(301) = 0.0024604186226233845138;
  weights(302) = 0.0024604186226233845138;
  weights(303) = 0.0025107375142988008938;
  weights(304) = 0.0025107375142988008938;
  weights(305) = 0.0025107375142988008938;
  weights(306) = 0.0028995685292816440574;
  weights(307) = 0.0028995685292816440574;
  weights(308) = 0.0028995685292816440574;
  weights(309) = 0.0028995685292816440574;
  weights(310) = 0.0028995685292816440574;
  weights(311) = 0.0028995685292816440574;
  weights(312) = 0.0022232966203806566081;
  weights(313) = 0.0022232966203806566081;
  weights(314) = 0.0022232966203806566081;
  weights(315) = 0.0031965737605550237702;
  weights(316) = 0.0031965737605550237702;
  weights(317) = 0.0031965737605550237702;
  weights(318) = 0.0031965737605550237702;
  weights(319) = 0.0031965737605550237702;
  weights(320) = 0.0031965737605550237702;
  weights(321) = 0.0023233063822922024773;
  weights(322) = 0.0023233063822922024773;
  weights(323) = 0.0023233063822922024773;
  weights(324) = 0.0028273375044942186153;
  weights(325) = 0.0028273375044942186153;
  weights(326) = 0.0028273375044942186153;
  weights(327) = 0.0028273375044942186153;
  weights(328) = 0.0028273375044942186153;
  weights(329) = 0.0028273375044942186153;
  weights(330) = 0.0026555247084499877287;
  weights(331) = 0.0026555247084499877287;
  weights(332) = 0.0026555247084499877287;
  weights(333) = 0.0026555247084499877287;
  weights(334) = 0.0026555247084499877287;
  weights(335) = 0.0026555247084499877287;
  weights(336) = 0.00098661521073795045884;
  weights(337) = 0.00098661521073795045884;
  weights(338) = 0.00098661521073795045884;
  weights(339) = 0.00098661521073795045884;
  weights(340) = 0.00098661521073795045884;
  weights(341) = 0.00098661521073795045884;
  weights(342) = 0.0032127360250871644411;
  weights(343) = 0.0032127360250871644411;
  weights(344) = 0.0032127360250871644411;
  weights(345) = 0.0031327939418134159201;
  weights(346) = 0.0031327939418134159201;
  weights(347) = 0.0031327939418134159201;
  weights(348) = 0.0017777397357834714454;
  weights(349) = 0.0017777397357834714454;
  weights(350) = 0.0017777397357834714454;
  weights(351) = 0.0017777397357834714454;
  weights(352) = 0.0017777397357834714454;
  weights(353) = 0.0017777397357834714454;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 44);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 45>() { // NOLINT
  Eigen::MatrixXd points(2, 370);
  Eigen::VectorXd weights(370);

  points(0, 0) = 0.012604803830736161646;
  points(1, 0) = 0.0072924295508433809032;
  points(0, 1) = 0.98010276661842032908;
  points(1, 1) = 0.012604803830736163381;
  points(0, 2) = 0.00729242955084352662;
  points(1, 2) = 0.98010276661842055113;
  points(0, 3) = 0.9801027666184204401;
  points(1, 3) = 0.0072924295508433809032;
  points(0, 4) = 0.012604803830736255321;
  points(1, 4) = 0.98010276661842055113;
  points(0, 5) = 0.0072924295508431024801;
  points(1, 5) = 0.012604803830736548489;
  points(0, 6) = 0.004605476631441279313;
  points(1, 6) = 0.0013499971821104976046;
  points(0, 7) = 0.99404452618644811857;
  points(1, 7) = 0.0046054766314412888539;
  points(0, 8) = 0.0013499971821106515613;
  points(1, 8) = 0.99404452618644822959;
  points(0, 9) = 0.99404452618644822959;
  points(1, 9) = 0.0013499971821104976046;
  points(0, 10) = 0.0046054766314413408956;
  points(1, 10) = 0.99404452618644845163;
  points(0, 11) = 0.0013499971821102118089;
  points(1, 11) = 0.0046054766314416097778;
  points(0, 12) = 0.067946496603911152312;
  points(1, 12) = 0.0068591759380605367077;
  points(0, 13) = 0.9251943274580282095;
  points(1, 13) = 0.067946496603911138434;
  points(0, 14) = 0.0068591759380606798224;
  points(1, 14) = 0.92519432745802843154;
  points(0, 15) = 0.92519432745802832052;
  points(1, 15) = 0.0068591759380605367077;
  points(0, 16) = 0.067946496603911221701;
  points(1, 16) = 0.92519432745802843154;
  points(0, 17) = 0.0068591759380603120611;
  points(1, 17) = 0.067946496603911457624;
  points(0, 18) = 0.069338004363440827738;
  points(1, 18) = 0.0012297679959348988867;
  points(0, 19) = 0.92943222764062416452;
  points(1, 19) = 0.069338004363440841615;
  points(0, 20) = 0.0012297679959349938628;
  points(1, 20) = 0.92943222764062438657;
  points(0, 21) = 0.92943222764062427554;
  points(1, 21) = 0.0012297679959348988867;
  points(0, 22) = 0.069338004363440841615;
  points(1, 22) = 0.92943222764062438657;
  points(0, 23) = 0.0012297679959346885514;
  points(1, 23) = 0.069338004363441119171;
  points(0, 24) = 0.46827085987094796415;
  points(1, 24) = 0.0087801002006947515;
  points(0, 25) = 0.52294903992835728435;
  points(1, 25) = 0.46827085987094801967;
  points(0, 26) = 0.0087801002006946959888;
  points(1, 26) = 0.52294903992835750639;
  points(0, 27) = 0.52294903992835717332;
  points(1, 27) = 0.0087801002006947515;
  points(0, 28) = 0.46827085987094796415;
  points(1, 28) = 0.52294903992835739537;
  points(0, 29) = 0.0087801002006946682332;
  points(1, 29) = 0.46827085987094824171;
  points(0, 30) = 0.25049517033522150644;
  points(1, 30) = 0.0016830263611802771025;
  points(0, 31) = 0.74782180330359815379;
  points(1, 31) = 0.25049517033522150644;
  points(0, 32) = 0.0016830263611803397694;
  points(1, 32) = 0.74782180330359837583;
  points(0, 33) = 0.74782180330359826481;
  points(1, 33) = 0.0016830263611802771025;
  points(0, 34) = 0.25049517033522150644;
  points(1, 34) = 0.74782180330359837583;
  points(0, 35) = 0.0016830263611800344581;
  points(1, 35) = 0.250495170335221784;
  points(0, 36) = 0.017923101339837439749;
  points(1, 36) = 0.0017579725835351468592;
  points(0, 37) = 0.98031892607662740602;
  points(1, 37) = 0.017923101339837415463;
  points(0, 38) = 0.0017579725835353832153;
  points(1, 38) = 0.98031892607662740602;
  points(0, 39) = 0.98031892607662740602;
  points(1, 39) = 0.0017579725835351468592;
  points(0, 40) = 0.017923101339837377299;
  points(1, 40) = 0.98031892607662773909;
  points(0, 41) = 0.0017579725835348974927;
  points(1, 41) = 0.017923101339837738122;
  points(0, 42) = 0.35945684199505278933;
  points(1, 42) = 0.0014756136531629470907;
  points(0, 43) = 0.63906754435178425577;
  points(1, 43) = 0.35945684199505284484;
  points(0, 44) = 0.0014756136531630104081;
  points(1, 44) = 0.6390675443517843668;
  points(0, 45) = 0.63906754435178425577;
  points(1, 45) = 0.0014756136531629470907;
  points(0, 46) = 0.35945684199505284484;
  points(1, 46) = 0.63906754435178425577;
  points(0, 47) = 0.0014756136531628438746;
  points(1, 47) = 0.35945684199505301137;
  points(0, 48) = 0.22115398478494749379;
  points(1, 48) = 0.1536631274625925303;
  points(0, 49) = 0.62518288775245989264;
  points(1, 49) = 0.2211539847849475493;
  points(0, 50) = 0.15366312746259258581;
  points(1, 50) = 0.62518288775246000366;
  points(0, 51) = 0.62518288775246000366;
  points(1, 51) = 0.1536631274625925303;
  points(0, 52) = 0.22115398478494752155;
  points(1, 52) = 0.62518288775246011468;
  points(0, 53) = 0.15366312746259233601;
  points(1, 53) = 0.22115398478494768808;
  points(0, 54) = 0.23897319487869611576;
  points(1, 54) = 0.22762521613724925884;
  points(0, 55) = 0.53340158898405465315;
  points(1, 55) = 0.23897319487869617127;
  points(0, 56) = 0.22762521613724923109;
  points(1, 56) = 0.53340158898405476418;
  points(0, 57) = 0.53340158898405465315;
  points(1, 57) = 0.22762521613724925884;
  points(0, 58) = 0.23897319487869611576;
  points(1, 58) = 0.53340158898405476418;
  points(0, 59) = 0.22762521613724912006;
  points(1, 59) = 0.23897319487869631005;
  points(0, 60) = 0.12980665330027665871;
  points(1, 60) = 0.12980665330027690851;
  points(0, 61) = 0.74038669339944640502;
  points(1, 61) = 0.12980665330027665871;
  points(0, 62) = 0.12980665330027696402;
  points(1, 62) = 0.74038669339944651604;
  points(0, 63) = 0.22652288598117575891;
  points(1, 63) = 0.11420303775151185999;
  points(0, 64) = 0.65927407626731227008;
  points(1, 64) = 0.22652288598117578666;
  points(0, 65) = 0.1142030377515119155;
  points(1, 65) = 0.65927407626731249213;
  points(0, 66) = 0.65927407626731238111;
  points(1, 66) = 0.11420303775151185999;
  points(0, 67) = 0.22652288598117581442;
  points(1, 67) = 0.65927407626731249213;
  points(0, 68) = 0.11420303775151167958;
  points(1, 68) = 0.22652288598117600871;
  points(0, 69) = 0.23959052403779018681;
  points(1, 69) = 0.080375059468551390829;
  points(0, 70) = 0.68003441649365836685;
  points(1, 70) = 0.23959052403779021456;
  points(0, 71) = 0.08037505946855144634;
  points(1, 71) = 0.6800344164936585889;
  points(0, 72) = 0.68003441649365847788;
  points(1, 72) = 0.080375059468551390829;
  points(0, 73) = 0.23959052403779024232;
  points(1, 73) = 0.68003441649365847788;
  points(0, 74) = 0.080375059468551224295;
  points(1, 74) = 0.23959052403779046436;
  points(0, 75) = 0.17829140299259227387;
  points(1, 75) = 0.030618363682490025435;
  points(0, 76) = 0.79109023332491767988;
  points(1, 76) = 0.17829140299259230162;
  points(0, 77) = 0.030618363682490101763;
  points(1, 77) = 0.7910902333249177909;
  points(0, 78) = 0.79109023332491767988;
  points(1, 78) = 0.030618363682490025435;
  points(0, 79) = 0.17829140299259232938;
  points(1, 79) = 0.7910902333249177909;
  points(0, 80) = 0.030618363682489851962;
  points(1, 80) = 0.17829140299259255142;
  points(0, 81) = 0.20634966563088302793;
  points(1, 81) = 0.20634966563088330549;
  points(0, 82) = 0.58730066873823361107;
  points(1, 82) = 0.20634966563088313896;
  points(0, 83) = 0.20634966563088319447;
  points(1, 83) = 0.58730066873823383311;
  points(0, 84) = 0.17508458880693983373;
  points(1, 84) = 0.17508458880694008353;
  points(0, 85) = 0.6498308223861201105;
  points(1, 85) = 0.17508458880693991699;
  points(0, 86) = 0.17508458880694016679;
  points(1, 86) = 0.6498308223861201105;
  points(0, 87) = 0.28258668912041751131;
  points(1, 87) = 0.026942102781423098862;
  points(0, 88) = 0.69047120809815942799;
  points(1, 88) = 0.28258668912041751131;
  points(0, 89) = 0.026942102781423060698;
  points(1, 89) = 0.69047120809815965004;
  points(0, 90) = 0.69047120809815931697;
  points(1, 90) = 0.026942102781423098862;
  points(0, 91) = 0.28258668912041751131;
  points(1, 91) = 0.69047120809815942799;
  points(0, 92) = 0.026942102781422949676;
  points(1, 92) = 0.28258668912041773336;
  points(0, 93) = 0.13725711025872955329;
  points(1, 93) = 0.032797213546932650619;
  points(0, 94) = 0.82994567619433767813;
  points(1, 94) = 0.13725711025872958104;
  points(0, 95) = 0.03279721354693276858;
  points(1, 95) = 0.82994567619433790018;
  points(0, 96) = 0.82994567619433778916;
  points(1, 96) = 0.032797213546932650619;
  points(0, 97) = 0.13725711025872955329;
  points(1, 97) = 0.8299456761943380112;
  points(0, 98) = 0.032797213546932449391;
  points(1, 98) = 0.1372571102587298586;
  points(0, 99) = 0.49950457686795940448;
  points(1, 99) = 0.00099084626408113790456;
  points(0, 100) = 0.49950457686795940448;
  points(1, 100) = 0.49950457686795946;
  points(0, 101) = 0.00099084626408108000817;
  points(1, 101) = 0.49950457686795968204;
  points(0, 102) = 0.10025441523656961063;
  points(1, 102) = 0.032727112733648963672;
  points(0, 103) = 0.86701847202978132856;
  points(1, 103) = 0.1002544152365696245;
  points(0, 104) = 0.032727112733649033061;
  points(1, 104) = 0.8670184720297815506;
  points(0, 105) = 0.86701847202978132856;
  points(1, 105) = 0.032727112733648963672;
  points(0, 106) = 0.1002544152365697494;
  points(1, 106) = 0.8670184720297815506;
  points(0, 107) = 0.032727112733648748566;
  points(1, 107) = 0.10025441523656998533;
  points(0, 108) = 0.051707476559965277751;
  points(1, 108) = 0.015160101313872562101;
  points(0, 109) = 0.9331324221261620977;
  points(1, 109) = 0.05170747655996528469;
  points(0, 110) = 0.015160101313872742512;
  points(1, 110) = 0.93313242212616220872;
  points(0, 111) = 0.93313242212616220872;
  points(1, 111) = 0.015160101313872562101;
  points(0, 112) = 0.051707476559965381835;
  points(1, 112) = 0.93313242212616220872;
  points(0, 113) = 0.015160101313872326179;
  points(1, 113) = 0.051707476559965603879;
  points(0, 114) = 0.26061485513765692001;
  points(1, 114) = 0.17088465295297755597;
  points(0, 115) = 0.5685004919093654685;
  points(1, 115) = 0.26061485513765692001;
  points(0, 116) = 0.17088465295297755597;
  points(1, 116) = 0.56850049190936569055;
  points(0, 117) = 0.56850049190936557952;
  points(1, 117) = 0.17088465295297755597;
  points(0, 118) = 0.26061485513765692001;
  points(1, 118) = 0.56850049190936569055;
  points(0, 119) = 0.17088465295297736168;
  points(1, 119) = 0.26061485513765708655;
  points(0, 120) = 0.22721432495995730338;
  points(1, 120) = 0.028663286204167234827;
  points(0, 121) = 0.74412238883587533689;
  points(1, 121) = 0.22721432495995733114;
  points(0, 122) = 0.028663286204167304216;
  points(1, 122) = 0.74412238883587555893;
  points(0, 123) = 0.74412238883587555893;
  points(1, 123) = 0.028663286204167234827;
  points(0, 124) = 0.2272143249599573589;
  points(1, 124) = 0.74412238883587555893;
  points(0, 125) = 0.028663286204167026661;
  points(1, 125) = 0.22721432495995763645;
  points(0, 126) = 0.31104048723505089979;
  points(1, 126) = 0.012695671565960948632;
  points(0, 127) = 0.67626384119898819147;
  points(1, 127) = 0.31104048723505089979;
  points(0, 128) = 0.012695671565960908733;
  points(1, 128) = 0.67626384119898841352;
  points(0, 129) = 0.67626384119898808045;
  points(1, 129) = 0.012695671565960948632;
  points(0, 130) = 0.31104048723505101082;
  points(1, 130) = 0.67626384119898819147;
  points(0, 131) = 0.012695671565960797711;
  points(1, 131) = 0.31104048723505117735;
  points(0, 132) = 0.055220419060502790032;
  points(1, 132) = 0.05522041906050311616;
  points(0, 133) = 0.88955916187899408687;
  points(1, 133) = 0.055220419060502824726;
  points(0, 134) = 0.055220419060503067588;
  points(1, 134) = 0.88955916187899430891;
  points(0, 135) = 0.18562387629905321984;
  points(1, 135) = 0.087901535248881071394;
  points(0, 136) = 0.72647458845206569489;
  points(1, 136) = 0.18562387629905321984;
  points(0, 137) = 0.087901535248881168538;
  points(1, 137) = 0.72647458845206580591;
  points(0, 138) = 0.72647458845206569489;
  points(1, 138) = 0.087901535248881071394;
  points(0, 139) = 0.18562387629905330311;
  points(1, 139) = 0.72647458845206580591;
  points(0, 140) = 0.087901535248880807716;
  points(1, 140) = 0.18562387629905346964;
  points(0, 141) = 0.06586264376081776839;
  points(1, 141) = 0.030720346176742418381;
  points(0, 142) = 0.9034170100624399069;
  points(1, 142) = 0.065862643760817726757;
  points(0, 143) = 0.030720346176742518995;
  points(1, 143) = 0.90341701006244001793;
  points(0, 144) = 0.90341701006243979588;
  points(1, 144) = 0.030720346176742418381;
  points(0, 145) = 0.065862643760817796146;
  points(1, 145) = 0.90341701006244001793;
  points(0, 146) = 0.03072034617674217899;
  points(1, 146) = 0.065862643760818087579;
  points(0, 147) = 0.30159047009536227302;
  points(1, 147) = 0.0028145506398763843817;
  points(0, 148) = 0.69559497926476132612;
  points(1, 148) = 0.30159047009536232853;
  points(0, 149) = 0.0028145506398764563727;
  points(1, 149) = 0.69559497926476154817;
  points(0, 150) = 0.69559497926476132612;
  points(1, 150) = 0.0028145506398763843817;
  points(0, 151) = 0.30159047009536221751;
  points(1, 151) = 0.69559497926476154817;
  points(0, 152) = 0.0028145506398761788169;
  points(1, 152) = 0.30159047009536255057;
  points(0, 153) = 0.29254265765423631551;
  points(1, 153) = 0.079839416372291596713;
  points(0, 154) = 0.62761792597347210165;
  points(1, 154) = 0.29254265765423631551;
  points(0, 155) = 0.079839416372291638346;
  points(1, 155) = 0.62761792597347221268;
  points(0, 156) = 0.62761792597347210165;
  points(1, 156) = 0.079839416372291596713;
  points(0, 157) = 0.29254265765423637102;
  points(1, 157) = 0.62761792597347221268;
  points(0, 158) = 0.079839416372291416302;
  points(1, 158) = 0.29254265765423659307;
  points(0, 159) = 0.027302484752884912528;
  points(1, 159) = 0.013321197902767136986;
  points(0, 160) = 0.95937631734434791753;
  points(1, 160) = 0.027302484752884877833;
  points(0, 161) = 0.013321197902767312193;
  points(1, 161) = 0.95937631734434802855;
  points(0, 162) = 0.95937631734434791753;
  points(1, 162) = 0.013321197902767136986;
  points(0, 163) = 0.027302484752885047836;
  points(1, 163) = 0.95937631734434802855;
  points(0, 164) = 0.013321197902766868104;
  points(1, 164) = 0.027302484752885325392;
  points(0, 165) = 0.29915276583659389242;
  points(1, 165) = 0.29915276583659405896;
  points(0, 166) = 0.40169446832681210413;
  points(1, 166) = 0.29915276583659405896;
  points(0, 167) = 0.29915276583659389242;
  points(1, 167) = 0.40169446832681221515;
  points(0, 168) = 0.37157192057754423464;
  points(1, 168) = 0.0096021860181155580666;
  points(0, 169) = 0.61882589340434024372;
  points(1, 169) = 0.37157192057754423464;
  points(0, 170) = 0.0096021860181155216374;
  points(1, 170) = 0.61882589340434046576;
  points(0, 171) = 0.61882589340434024372;
  points(1, 171) = 0.0096021860181155580666;
  points(0, 172) = 0.37157192057754423464;
  points(1, 172) = 0.61882589340434035474;
  points(0, 173) = 0.0096021860181154383707;
  points(1, 173) = 0.37157192057754445669;
  points(0, 174) = 0.20100730399368710311;
  points(1, 174) = 0.0025024373852327069963;
  points(0, 175) = 0.79649025862108024931;
  points(1, 175) = 0.20100730399368713086;
  points(0, 176) = 0.0025024373852327030932;
  points(1, 176) = 0.79649025862108047136;
  points(0, 177) = 0.79649025862108024931;
  points(1, 177) = 0.0025024373852327069963;
  points(0, 178) = 0.20100730399368715862;
  points(1, 178) = 0.79649025862108024931;
  points(0, 179) = 0.0025024373852325226819;
  points(1, 179) = 0.20100730399368740842;
  points(0, 180) = 0.29318312937226642667;
  points(1, 180) = 0.20173082806599654249;
  points(0, 181) = 0.5050860425617370586;
  points(1, 181) = 0.29318312937226648218;
  points(0, 182) = 0.20173082806599651473;
  points(1, 182) = 0.50508604256173716962;
  points(0, 183) = 0.5050860425617370586;
  points(1, 183) = 0.20173082806599654249;
  points(0, 184) = 0.29318312937226642667;
  points(1, 184) = 0.50508604256173716962;
  points(0, 185) = 0.20173082806599643146;
  points(1, 185) = 0.2931831293722665932;
  points(0, 186) = 0.23333189110362256846;
  points(1, 186) = 0.052677682300648620561;
  points(0, 187) = 0.71399042659572875547;
  points(1, 187) = 0.23333189110362259622;
  points(0, 188) = 0.052677682300648676073;
  points(1, 188) = 0.71399042659572897751;
  points(0, 189) = 0.71399042659572886649;
  points(1, 189) = 0.052677682300648620561;
  points(0, 190) = 0.23333189110362262397;
  points(1, 190) = 0.71399042659572886649;
  points(0, 191) = 0.052677682300648426272;
  points(1, 191) = 0.23333189110362290153;
  points(0, 192) = 0.17929914189700432714;
  points(1, 192) = 0.055769146110768594293;
  points(0, 193) = 0.76493171199222709244;
  points(1, 193) = 0.17929914189700432714;
  points(0, 194) = 0.055769146110768663682;
  points(1, 194) = 0.76493171199222720347;
  points(0, 195) = 0.76493171199222709244;
  points(1, 195) = 0.055769146110768594293;
  points(0, 196) = 0.1792991418970043549;
  points(1, 196) = 0.76493171199222720347;
  points(0, 197) = 0.055769146110768372249;
  points(1, 197) = 0.1792991418970046047;
  points(0, 198) = 0.3669822772564582114;
  points(1, 198) = 0.2660354454870835772;
  points(0, 199) = 0.36698227725645815589;
  points(1, 199) = 0.36698227725645832242;
  points(0, 200) = 0.26603544548708346618;
  points(1, 200) = 0.36698227725645837793;
  points(0, 201) = 0.29343533112909298;
  points(1, 201) = 0.048236701309217193401;
  points(0, 202) = 0.65832796756168976415;
  points(1, 202) = 0.29343533112909303551;
  points(0, 203) = 0.048236701309217144829;
  points(1, 203) = 0.65832796756169009722;
  points(0, 204) = 0.65832796756168987518;
  points(1, 204) = 0.048236701309217193401;
  points(0, 205) = 0.29343533112909303551;
  points(1, 205) = 0.6583279675616899862;
  points(0, 206) = 0.048236701309217061562;
  points(1, 206) = 0.29343533112909320204;
  points(0, 207) = 0.32984059627561923556;
  points(1, 207) = 0.23369758355312217346;
  points(0, 208) = 0.43646182017125861874;
  points(1, 208) = 0.32984059627561934658;
  points(0, 209) = 0.23369758355312203468;
  points(1, 209) = 0.43646182017125878527;
  points(0, 210) = 0.43646182017125861874;
  points(1, 210) = 0.23369758355312217346;
  points(0, 211) = 0.32984059627561923556;
  points(1, 211) = 0.43646182017125872976;
  points(0, 212) = 0.23369758355312206244;
  points(1, 212) = 0.32984059627561940209;
  points(0, 213) = 0.13817569361152759466;
  points(1, 213) = 0.092662150608776125416;
  points(0, 214) = 0.76916215577969615502;
  points(1, 214) = 0.13817569361152762242;
  points(0, 215) = 0.092662150608776250316;
  points(1, 215) = 0.76916215577969637707;
  points(0, 216) = 0.76916215577969626604;
  points(1, 216) = 0.092662150608776125416;
  points(0, 217) = 0.13817569361152770568;
  points(1, 217) = 0.76916215577969637707;
  points(0, 218) = 0.092662150608775875615;
  points(1, 218) = 0.13817569361152789997;
  points(0, 219) = 0.35851286577610108619;
  points(1, 219) = 0.17345476810307239313;
  points(0, 220) = 0.46803236612082654844;
  points(1, 220) = 0.35851286577610119721;
  points(0, 221) = 0.1734547681030722821;
  points(1, 221) = 0.46803236612082671497;
  points(0, 222) = 0.46803236612082649293;
  points(1, 222) = 0.17345476810307239313;
  points(0, 223) = 0.3585128657761011417;
  points(1, 223) = 0.46803236612082665946;
  points(0, 224) = 0.17345476810307225435;
  points(1, 224) = 0.35851286577610130824;
  points(0, 225) = 0.42033778346654876445;
  points(1, 225) = 0.017850893646582804281;
  points(0, 226) = 0.56181132288686841392;
  points(1, 226) = 0.42033778346654881997;
  points(0, 227) = 0.017850893646582710605;
  points(1, 227) = 0.56181132288686874698;
  points(0, 228) = 0.56181132288686841392;
  points(1, 228) = 0.017850893646582804281;
  points(0, 229) = 0.42033778346654876445;
  points(1, 229) = 0.56181132288686852494;
  points(0, 230) = 0.017850893646582710605;
  points(1, 230) = 0.42033778346654904201;
  points(0, 231) = 0.27905113300348061145;
  points(1, 231) = 0.11994669249584716253;
  points(0, 232) = 0.60100217450067217051;
  points(1, 232) = 0.27905113300348072247;
  points(0, 233) = 0.11994669249584710702;
  points(1, 233) = 0.60100217450067239255;
  points(0, 234) = 0.60100217450067217051;
  points(1, 234) = 0.11994669249584716253;
  points(0, 235) = 0.27905113300348066696;
  points(1, 235) = 0.60100217450067228153;
  points(0, 236) = 0.11994669249584696824;
  points(1, 236) = 0.27905113300348088901;
  points(0, 237) = 0.093462672249371062105;
  points(1, 237) = 0.013984617251760896386;
  points(0, 238) = 0.89255271049886808488;
  points(1, 238) = 0.093462672249371075983;
  points(0, 239) = 0.013984617251760977918;
  points(1, 239) = 0.8925527104988681959;
  points(0, 240) = 0.89255271049886808488;
  points(1, 240) = 0.013984617251760896386;
  points(0, 241) = 0.093462672249371103739;
  points(1, 241) = 0.8925527104988681959;
  points(0, 242) = 0.013984617251760665668;
  points(1, 242) = 0.093462672249371395172;
  points(0, 243) = 0.38740898768901987914;
  points(1, 243) = 0.11935776431507749695;
  points(0, 244) = 0.49323324799590256839;
  points(1, 244) = 0.38740898768901999016;
  points(0, 245) = 0.1193577643150774692;
  points(1, 245) = 0.49323324799590279044;
  points(0, 246) = 0.49323324799590267942;
  points(1, 246) = 0.11935776431507749695;
  points(0, 247) = 0.38740898768901987914;
  points(1, 247) = 0.49323324799590273493;
  points(0, 248) = 0.11935776431507738593;
  points(1, 248) = 0.38740898768902010119;
  points(0, 249) = 0.40718469566152015737;
  points(1, 249) = 0.073584654985361763746;
  points(0, 250) = 0.51923064935311813439;
  points(1, 250) = 0.40718469566152021288;
  points(0, 251) = 0.073584654985361708235;
  points(1, 251) = 0.51923064935311835644;
  points(0, 252) = 0.51923064935311813439;
  points(1, 252) = 0.073584654985361763746;
  points(0, 253) = 0.40718469566152021288;
  points(1, 253) = 0.51923064935311813439;
  points(0, 254) = 0.073584654985361652724;
  points(1, 254) = 0.40718469566152037942;
  points(0, 255) = 0.18764058338970970863;
  points(1, 255) = 0.012716747848540779775;
  points(0, 256) = 0.79964266876174949772;
  points(1, 256) = 0.18764058338970970863;
  points(0, 257) = 0.012716747848540821408;
  points(1, 257) = 0.79964266876174971976;
  points(0, 258) = 0.79964266876174949772;
  points(1, 258) = 0.012716747848540779775;
  points(0, 259) = 0.18764058338970968087;
  points(1, 259) = 0.79964266876174971976;
  points(0, 260) = 0.01271674784854055773;
  points(1, 260) = 0.18764058338970998618;
  points(0, 261) = 0.26492164239038051843;
  points(1, 261) = 0.26492164239038062945;
  points(0, 262) = 0.47015671521923885212;
  points(1, 262) = 0.26492164239038057394;
  points(0, 263) = 0.26492164239038062945;
  points(1, 263) = 0.47015671521923896314;
  points(0, 264) = 0.15222552603827629869;
  points(1, 264) = 0.002440380407687850299;
  points(0, 265) = 0.84533409355403577035;
  points(1, 265) = 0.15222552603827632645;
  points(0, 266) = 0.0024403804076879032081;
  points(1, 266) = 0.84533409355403610341;
  points(0, 267) = 0.84533409355403588137;
  points(1, 267) = 0.002440380407687850299;
  points(0, 268) = 0.15222552603827632645;
  points(1, 268) = 0.84533409355403610341;
  points(0, 269) = 0.0024403804076876534079;
  points(1, 269) = 0.152225526038276604;
  points(0, 270) = 0.17414200178656336071;
  points(1, 270) = 0.12989062597729447712;
  points(0, 271) = 0.69596737223614213441;
  points(1, 271) = 0.17414200178656341622;
  points(0, 272) = 0.12989062597729444937;
  points(1, 272) = 0.69596737223614235646;
  points(0, 273) = 0.69596737223614213441;
  points(1, 273) = 0.12989062597729447712;
  points(0, 274) = 0.17414200178656336071;
  points(1, 274) = 0.69596737223614235646;
  points(0, 275) = 0.12989062597729425508;
  points(1, 275) = 0.17414200178656363827;
  points(0, 276) = 0.39846906841394502674;
  points(1, 276) = 0.20306186317210994652;
  points(0, 277) = 0.39846906841394502674;
  points(1, 277) = 0.39846906841394513776;
  points(0, 278) = 0.20306186317210980774;
  points(1, 278) = 0.39846906841394519327;
  points(0, 279) = 0.32140815517552612235;
  points(1, 279) = 0.14388063038730453114;
  points(0, 280) = 0.534711214437169291;
  points(1, 280) = 0.32140815517552623337;
  points(0, 281) = 0.14388063038730447563;
  points(1, 281) = 0.53471121443716951305;
  points(0, 282) = 0.534711214437169291;
  points(1, 282) = 0.14388063038730453114;
  points(0, 283) = 0.32140815517552617786;
  points(1, 283) = 0.53471121443716940203;
  points(0, 284) = 0.14388063038730433685;
  points(1, 284) = 0.3214081551755263999;
  points(0, 285) = 0.088804336173426479117;
  points(1, 285) = 0.058859809288356754187;
  points(0, 286) = 0.85233585453821669731;
  points(1, 286) = 0.088804336173426451362;
  points(0, 287) = 0.058859809288356879087;
  points(1, 287) = 0.85233585453821691935;
  points(0, 288) = 0.85233585453821669731;
  points(1, 288) = 0.058859809288356754187;
  points(0, 289) = 0.088804336173426534629;
  points(1, 289) = 0.85233585453821691935;
  points(0, 290) = 0.058859809288356469692;
  points(1, 290) = 0.088804336173426798307;
  points(0, 291) = 0.13042891555171221007;
  points(1, 291) = 0.060297341384809362286;
  points(0, 292) = 0.80927374306347843458;
  points(1, 292) = 0.13042891555171221007;
  points(0, 293) = 0.060297341384809410858;
  points(1, 293) = 0.8092737430634785456;
  points(0, 294) = 0.80927374306347843458;
  points(1, 294) = 0.060297341384809362286;
  points(0, 295) = 0.13042891555171226559;
  points(1, 295) = 0.8092737430634785456;
  points(0, 296) = 0.060297341384809133302;
  points(1, 296) = 0.13042891555171254314;
  points(0, 297) = 0.45262019075149417802;
  points(1, 297) = 0.094759618497011630089;
  points(0, 298) = 0.45262019075149417802;
  points(1, 298) = 0.45262019075149423353;
  points(0, 299) = 0.094759618497011532945;
  points(1, 299) = 0.45262019075149440006;
  points(0, 300) = 0.13683791272221002;
  points(1, 300) = 0.01322545259935880603;
  points(0, 301) = 0.84993663467843116877;
  points(1, 301) = 0.13683791272221002;
  points(0, 302) = 0.013225452599358922257;
  points(1, 302) = 0.84993663467843127979;
  points(0, 303) = 0.84993663467843116877;
  points(1, 303) = 0.01322545259935880603;
  points(0, 304) = 0.13683791272221007551;
  points(1, 304) = 0.84993663467843127979;
  points(0, 305) = 0.01322545259935858919;
  points(1, 305) = 0.13683791272221035307;
  points(0, 306) = 0.35285335917967058927;
  points(1, 306) = 0.057271259501988684704;
  points(0, 307) = 0.58987538131834083011;
  points(1, 307) = 0.35285335917967064479;
  points(0, 308) = 0.05727125950198858062;
  points(1, 308) = 0.58987538131834105215;
  points(0, 309) = 0.58987538131834071908;
  points(1, 309) = 0.057271259501988684704;
  points(0, 310) = 0.35285335917967058927;
  points(1, 310) = 0.58987538131834094113;
  points(0, 311) = 0.057271259501988552865;
  points(1, 311) = 0.35285335917967081132;
  points(0, 312) = 0.24638690021714215739;
  points(1, 312) = 0.010933647586286022665;
  points(0, 313) = 0.74267945219657183209;
  points(1, 313) = 0.24638690021714218514;
  points(0, 314) = 0.010933647586285955011;
  points(1, 314) = 0.74267945219657216516;
  points(0, 315) = 0.74267945219657183209;
  points(1, 315) = 0.010933647586286022665;
  points(0, 316) = 0.24638690021714226841;
  points(1, 316) = 0.74267945219657183209;
  points(0, 317) = 0.010933647586285788478;
  points(1, 317) = 0.24638690021714249045;
  points(0, 318) = 0.42686104953330744616;
  points(1, 318) = 0.14627790093338510768;
  points(0, 319) = 0.42686104953330744616;
  points(1, 319) = 0.42686104953330750167;
  points(0, 320) = 0.14627790093338496891;
  points(1, 320) = 0.4268610495333076682;
  points(0, 321) = 0.33333333333333325932;
  points(1, 321) = 0.33333333333333342585;
  points(0, 322) = 0.34352004405947128562;
  points(1, 322) = 0.095925165089547556607;
  points(0, 323) = 0.56055479085098114389;
  points(1, 323) = 0.34352004405947134114;
  points(0, 324) = 0.095925165089547514974;
  points(1, 324) = 0.56055479085098136594;
  points(0, 325) = 0.56055479085098114389;
  points(1, 325) = 0.095925165089547556607;
  points(0, 326) = 0.34352004405947128562;
  points(1, 326) = 0.56055479085098125491;
  points(0, 327) = 0.095925165089547431707;
  points(1, 327) = 0.34352004405947150767;
  points(0, 328) = 0.41620896363646420202;
  points(1, 328) = 0.039670429715756766464;
  points(0, 329) = 0.54412060664777894825;
  points(1, 329) = 0.41620896363646425753;
  points(0, 330) = 0.039670429715756738709;
  points(1, 330) = 0.54412060664777928132;
  points(0, 331) = 0.54412060664777894825;
  points(1, 331) = 0.039670429715756766464;
  points(0, 332) = 0.41620896363646425753;
  points(1, 332) = 0.5441206066477791703;
  points(0, 333) = 0.039670429715756683198;
  points(1, 333) = 0.41620896363646442406;
  points(0, 334) = 0.094572437133494363648;
  points(1, 334) = 0.094572437133494655082;
  points(0, 335) = 0.81085512573301088413;
  points(1, 335) = 0.094572437133494363648;
  points(0, 336) = 0.094572437133494779982;
  points(1, 336) = 0.81085512573301110617;
  points(0, 337) = 0.4729894708688973104;
  points(1, 337) = 0.054021058262205337575;
  points(0, 338) = 0.47298947086889742142;
  points(1, 338) = 0.47298947086889736591;
  points(0, 339) = 0.05402105826220524043;
  points(1, 339) = 0.47298947086889758795;
  points(0, 340) = 0.039011810699985771667;
  points(1, 340) = 0.0027950477505294156824;
  points(0, 341) = 0.95819314154948476148;
  points(1, 341) = 0.039011810699985716155;
  points(0, 342) = 0.0027950477505295778791;
  points(1, 342) = 0.95819314154948498352;
  points(0, 343) = 0.95819314154948476148;
  points(1, 343) = 0.0027950477505294156824;
  points(0, 344) = 0.039011810699985882689;
  points(1, 344) = 0.95819314154948498352;
  points(0, 345) = 0.0027950477505291303204;
  points(1, 345) = 0.039011810699986167184;
  points(0, 346) = 0.10718071413460607266;
  points(1, 346) = 0.0026666116526768831804;
  points(0, 347) = 0.89015267421271704329;
  points(1, 347) = 0.10718071413460603103;
  points(0, 348) = 0.0026666116526771199702;
  points(1, 348) = 0.89015267421271704329;
  points(0, 349) = 0.89015267421271715431;
  points(1, 349) = 0.0026666116526768831804;
  points(0, 350) = 0.10718071413460600327;
  points(1, 350) = 0.89015267421271737636;
  points(0, 351) = 0.0026666116526766273087;
  points(1, 351) = 0.10718071413460637797;
  points(0, 352) = 0.42642381970632609045;
  points(1, 352) = 0.0025395300762577864562;
  points(0, 353) = 0.57103665021741611962;
  points(1, 353) = 0.42642381970632614596;
  points(0, 354) = 0.0025395300762577344145;
  points(1, 354) = 0.57103665021741634167;
  points(0, 355) = 0.57103665021741611962;
  points(1, 355) = 0.0025395300762577864562;
  points(0, 356) = 0.42642381970632614596;
  points(1, 356) = 0.57103665021741623065;
  points(0, 357) = 0.0025395300762576789033;
  points(1, 357) = 0.42642381970632636801;
  points(0, 358) = 0.03408514115679914247;
  points(1, 358) = 0.034085141156799447781;
  points(0, 359) = 0.93182971768640132648;
  points(1, 359) = 0.034085141156799128592;
  points(0, 360) = 0.034085141156799558804;
  points(1, 360) = 0.93182971768640154853;
  points(0, 361) = 0.35196013136382964248;
  points(1, 361) = 0.028731375558288797106;
  points(0, 362) = 0.61930849307788160552;
  points(1, 362) = 0.35196013136382958697;
  points(0, 363) = 0.028731375558288752003;
  points(1, 363) = 0.61930849307788182756;
  points(0, 364) = 0.61930849307788160552;
  points(1, 364) = 0.028731375558288797106;
  points(0, 365) = 0.35196013136382969799;
  points(1, 365) = 0.61930849307788171654;
  points(0, 366) = 0.028731375558288640981;
  points(1, 366) = 0.35196013136382986453;
  points(0, 367) = 0.48699899682578146054;
  points(1, 367) = 0.02600200634843707892;
  points(0, 368) = 0.48699899682578151605;
  points(1, 368) = 0.48699899682578157156;
  points(0, 369) = 0.026002006348436995653;
  points(1, 369) = 0.48699899682578168258;

  weights(0) = 9.7153212387730662758e-05;
  weights(1) = 9.7153212387730662758e-05;
  weights(2) = 9.7153212387730662758e-05;
  weights(3) = 9.7153212387730662758e-05;
  weights(4) = 9.7153212387730662758e-05;
  weights(5) = 9.7153212387730662758e-05;
  weights(6) = 2.9683240148916638926e-05;
  weights(7) = 2.9683240148916638926e-05;
  weights(8) = 2.9683240148916638926e-05;
  weights(9) = 2.9683240148916638926e-05;
  weights(10) = 2.9683240148916638926e-05;
  weights(11) = 2.9683240148916638926e-05;
  weights(12) = 0.00024034435375133180422;
  weights(13) = 0.00024034435375133180422;
  weights(14) = 0.00024034435375133180422;
  weights(15) = 0.00024034435375133180422;
  weights(16) = 0.00024034435375133180422;
  weights(17) = 0.00024034435375133180422;
  weights(18) = 0.00011506246675011212917;
  weights(19) = 0.00011506246675011212917;
  weights(20) = 0.00011506246675011212917;
  weights(21) = 0.00011506246675011212917;
  weights(22) = 0.00011506246675011212917;
  weights(23) = 0.00011506246675011212917;
  weights(24) = 0.00064723135853407239623;
  weights(25) = 0.00064723135853407239623;
  weights(26) = 0.00064723135853407239623;
  weights(27) = 0.00064723135853407239623;
  weights(28) = 0.00064723135853407239623;
  weights(29) = 0.00064723135853407239623;
  weights(30) = 0.00023026044914534313148;
  weights(31) = 0.00023026044914534313148;
  weights(32) = 0.00023026044914534313148;
  weights(33) = 0.00023026044914534313148;
  weights(34) = 0.00023026044914534313148;
  weights(35) = 0.00023026044914534313148;
  weights(36) = 7.7534504001433151308e-05;
  weights(37) = 7.7534504001433151308e-05;
  weights(38) = 7.7534504001433151308e-05;
  weights(39) = 7.7534504001433151308e-05;
  weights(40) = 7.7534504001433151308e-05;
  weights(41) = 7.7534504001433151308e-05;
  weights(42) = 0.00026321600844983770789;
  weights(43) = 0.00026321600844983770789;
  weights(44) = 0.00026321600844983770789;
  weights(45) = 0.00026321600844983770789;
  weights(46) = 0.00026321600844983770789;
  weights(47) = 0.00026321600844983770789;
  weights(48) = 0.0020388014004386009227;
  weights(49) = 0.0020388014004386009227;
  weights(50) = 0.0020388014004386009227;
  weights(51) = 0.0020388014004386009227;
  weights(52) = 0.0020388014004386009227;
  weights(53) = 0.0020388014004386009227;
  weights(54) = 0.0013636685777816597107;
  weights(55) = 0.0013636685777816597107;
  weights(56) = 0.0013636685777816597107;
  weights(57) = 0.0013636685777816597107;
  weights(58) = 0.0013636685777816597107;
  weights(59) = 0.0013636685777816597107;
  weights(60) = 0.0016012085751762885569;
  weights(61) = 0.0016012085751762885569;
  weights(62) = 0.0016012085751762885569;
  weights(63) = 0.0019089191800209103118;
  weights(64) = 0.0019089191800209103118;
  weights(65) = 0.0019089191800209103118;
  weights(66) = 0.0019089191800209103118;
  weights(67) = 0.0019089191800209103118;
  weights(68) = 0.0019089191800209103118;
  weights(69) = 0.0016217949642443299681;
  weights(70) = 0.0016217949642443299681;
  weights(71) = 0.0016217949642443299681;
  weights(72) = 0.0016217949642443299681;
  weights(73) = 0.0016217949642443299681;
  weights(74) = 0.0016217949642443299681;
  weights(75) = 0.00094248285919245439971;
  weights(76) = 0.00094248285919245439971;
  weights(77) = 0.00094248285919245439971;
  weights(78) = 0.00094248285919245439971;
  weights(79) = 0.00094248285919245439971;
  weights(80) = 0.00094248285919245439971;
  weights(81) = 0.0023186744205609894146;
  weights(82) = 0.0023186744205609894146;
  weights(83) = 0.0023186744205609894146;
  weights(84) = 0.0020435302327436507402;
  weights(85) = 0.0020435302327436507402;
  weights(86) = 0.0020435302327436507402;
  weights(87) = 0.001090361193803491462;
  weights(88) = 0.001090361193803491462;
  weights(89) = 0.001090361193803491462;
  weights(90) = 0.001090361193803491462;
  weights(91) = 0.001090361193803491462;
  weights(92) = 0.001090361193803491462;
  weights(93) = 0.00091729061958052270521;
  weights(94) = 0.00091729061958052270521;
  weights(95) = 0.00091729061958052270521;
  weights(96) = 0.00091729061958052270521;
  weights(97) = 0.00091729061958052270521;
  weights(98) = 0.00091729061958052270521;
  weights(99) = 0.00024155676151601317386;
  weights(100) = 0.00024155676151601317386;
  weights(101) = 0.00024155676151601317386;
  weights(102) = 0.00081366989771635518311;
  weights(103) = 0.00081366989771635518311;
  weights(104) = 0.00081366989771635518311;
  weights(105) = 0.00081366989771635518311;
  weights(106) = 0.00081366989771635518311;
  weights(107) = 0.00081366989771635518311;
  weights(108) = 0.00041426641058636253781;
  weights(109) = 0.00041426641058636253781;
  weights(110) = 0.00041426641058636253781;
  weights(111) = 0.00041426641058636253781;
  weights(112) = 0.00041426641058636253781;
  weights(113) = 0.00041426641058636253781;
  weights(114) = 0.0025537450433838460549;
  weights(115) = 0.0025537450433838460549;
  weights(116) = 0.0025537450433838460549;
  weights(117) = 0.0025537450433838460549;
  weights(118) = 0.0025537450433838460549;
  weights(119) = 0.0025537450433838460549;
  weights(120) = 0.0011195566794457779188;
  weights(121) = 0.0011195566794457779188;
  weights(122) = 0.0011195566794457779188;
  weights(123) = 0.0011195566794457779188;
  weights(124) = 0.0011195566794457779188;
  weights(125) = 0.0011195566794457779188;
  weights(126) = 0.00082008618221052003664;
  weights(127) = 0.00082008618221052003664;
  weights(128) = 0.00082008618221052003664;
  weights(129) = 0.00082008618221052003664;
  weights(130) = 0.00082008618221052003664;
  weights(131) = 0.00082008618221052003664;
  weights(132) = 0.00084630507027762019896;
  weights(133) = 0.00084630507027762019896;
  weights(134) = 0.00084630507027762019896;
  weights(135) = 0.0018358356965888702073;
  weights(136) = 0.0018358356965888702073;
  weights(137) = 0.0018358356965888702073;
  weights(138) = 0.0018358356965888702073;
  weights(139) = 0.0018358356965888702073;
  weights(140) = 0.0018358356965888702073;
  weights(141) = 0.0007065024707997161809;
  weights(142) = 0.0007065024707997161809;
  weights(143) = 0.0007065024707997161809;
  weights(144) = 0.0007065024707997161809;
  weights(145) = 0.0007065024707997161809;
  weights(146) = 0.0007065024707997161809;
  weights(147) = 0.00038222100043103950703;
  weights(148) = 0.00038222100043103950703;
  weights(149) = 0.00038222100043103950703;
  weights(150) = 0.00038222100043103950703;
  weights(151) = 0.00038222100043103950703;
  weights(152) = 0.00038222100043103950703;
  weights(153) = 0.0019770158130266025746;
  weights(154) = 0.0019770158130266025746;
  weights(155) = 0.0019770158130266025746;
  weights(156) = 0.0019770158130266025746;
  weights(157) = 0.0019770158130266025746;
  weights(158) = 0.0019770158130266025746;
  weights(159) = 0.00032241677247855807329;
  weights(160) = 0.00032241677247855807329;
  weights(161) = 0.00032241677247855807329;
  weights(162) = 0.00032241677247855807329;
  weights(163) = 0.00032241677247855807329;
  weights(164) = 0.00032241677247855807329;
  weights(165) = 0.003416877687849065922;
  weights(166) = 0.003416877687849065922;
  weights(167) = 0.003416877687849065922;
  weights(168) = 0.00077737845126903929067;
  weights(169) = 0.00077737845126903929067;
  weights(170) = 0.00077737845126903929067;
  weights(171) = 0.00077737845126903929067;
  weights(172) = 0.00077737845126903929067;
  weights(173) = 0.00077737845126903929067;
  weights(174) = 0.0003132398962406130697;
  weights(175) = 0.0003132398962406130697;
  weights(176) = 0.0003132398962406130697;
  weights(177) = 0.0003132398962406130697;
  weights(178) = 0.0003132398962406130697;
  weights(179) = 0.0003132398962406130697;
  weights(180) = 0.0029959028750869334118;
  weights(181) = 0.0029959028750869334118;
  weights(182) = 0.0029959028750869334118;
  weights(183) = 0.0029959028750869334118;
  weights(184) = 0.0029959028750869334118;
  weights(185) = 0.0029959028750869334118;
  weights(186) = 0.0015292089072820073351;
  weights(187) = 0.0015292089072820073351;
  weights(188) = 0.0015292089072820073351;
  weights(189) = 0.0015292089072820073351;
  weights(190) = 0.0015292089072820073351;
  weights(191) = 0.0015292089072820073351;
  weights(192) = 0.0014982039520765651902;
  weights(193) = 0.0014982039520765651902;
  weights(194) = 0.0014982039520765651902;
  weights(195) = 0.0014982039520765651902;
  weights(196) = 0.0014982039520765651902;
  weights(197) = 0.0014982039520765651902;
  weights(198) = 0.0034462523992934810009;
  weights(199) = 0.0034462523992934810009;
  weights(200) = 0.0034462523992934810009;
  weights(201) = 0.0016166867916586153894;
  weights(202) = 0.0016166867916586153894;
  weights(203) = 0.0016166867916586153894;
  weights(204) = 0.0016166867916586153894;
  weights(205) = 0.0016166867916586153894;
  weights(206) = 0.0016166867916586153894;
  weights(207) = 0.0033231821824899888777;
  weights(208) = 0.0033231821824899888777;
  weights(209) = 0.0033231821824899888777;
  weights(210) = 0.0033231821824899888777;
  weights(211) = 0.0033231821824899888777;
  weights(212) = 0.0033231821824899888777;
  weights(213) = 0.0015974524664544324445;
  weights(214) = 0.0015974524664544324445;
  weights(215) = 0.0015974524664544324445;
  weights(216) = 0.0015974524664544324445;
  weights(217) = 0.0015974524664544324445;
  weights(218) = 0.0015974524664544324445;
  weights(219) = 0.0030809958414888733748;
  weights(220) = 0.0030809958414888733748;
  weights(221) = 0.0030809958414888733748;
  weights(222) = 0.0030809958414888733748;
  weights(223) = 0.0030809958414888733748;
  weights(224) = 0.0030809958414888733748;
  weights(225) = 0.0010919088656448762507;
  weights(226) = 0.0010919088656448762507;
  weights(227) = 0.0010919088656448762507;
  weights(228) = 0.0010919088656448762507;
  weights(229) = 0.0010919088656448762507;
  weights(230) = 0.0010919088656448762507;
  weights(231) = 0.0024191143767986287433;
  weights(232) = 0.0024191143767986287433;
  weights(233) = 0.0024191143767986287433;
  weights(234) = 0.0024191143767986287433;
  weights(235) = 0.0024191143767986287433;
  weights(236) = 0.0024191143767986287433;
  weights(237) = 0.00058547175975405638549;
  weights(238) = 0.00058547175975405638549;
  weights(239) = 0.00058547175975405638549;
  weights(240) = 0.00058547175975405638549;
  weights(241) = 0.00058547175975405638549;
  weights(242) = 0.00058547175975405638549;
  weights(243) = 0.0027037484282199210697;
  weights(244) = 0.0027037484282199210697;
  weights(245) = 0.0027037484282199210697;
  weights(246) = 0.0027037484282199210697;
  weights(247) = 0.0027037484282199210697;
  weights(248) = 0.0027037484282199210697;
  weights(249) = 0.0022666945618745127158;
  weights(250) = 0.0022666945618745127158;
  weights(251) = 0.0022666945618745127158;
  weights(252) = 0.0022666945618745127158;
  weights(253) = 0.0022666945618745127158;
  weights(254) = 0.0022666945618745127158;
  weights(255) = 0.00076342222226831956376;
  weights(256) = 0.00076342222226831956376;
  weights(257) = 0.00076342222226831956376;
  weights(258) = 0.00076342222226831956376;
  weights(259) = 0.00076342222226831956376;
  weights(260) = 0.00076342222226831956376;
  weights(261) = 0.0031573284965164529967;
  weights(262) = 0.0031573284965164529967;
  weights(263) = 0.0031573284965164529967;
  weights(264) = 0.00029927787937605588838;
  weights(265) = 0.00029927787937605588838;
  weights(266) = 0.00029927787937605588838;
  weights(267) = 0.00029927787937605588838;
  weights(268) = 0.00029927787937605588838;
  weights(269) = 0.00029927787937605588838;
  weights(270) = 0.0021106687157036330832;
  weights(271) = 0.0021106687157036330832;
  weights(272) = 0.0021106687157036330832;
  weights(273) = 0.0021106687157036330832;
  weights(274) = 0.0021106687157036330832;
  weights(275) = 0.0021106687157036330832;
  weights(276) = 0.0032791537500989464265;
  weights(277) = 0.0032791537500989464265;
  weights(278) = 0.0032791537500989464265;
  weights(279) = 0.0027572811156697505687;
  weights(280) = 0.0027572811156697505687;
  weights(281) = 0.0027572811156697505687;
  weights(282) = 0.0027572811156697505687;
  weights(283) = 0.0027572811156697505687;
  weights(284) = 0.0027572811156697505687;
  weights(285) = 0.0011685889049553343285;
  weights(286) = 0.0011685889049553343285;
  weights(287) = 0.0011685889049553343285;
  weights(288) = 0.0011685889049553343285;
  weights(289) = 0.0011685889049553343285;
  weights(290) = 0.0011685889049553343285;
  weights(291) = 0.0013939944763398509891;
  weights(292) = 0.0013939944763398509891;
  weights(293) = 0.0013939944763398509891;
  weights(294) = 0.0013939944763398509891;
  weights(295) = 0.0013939944763398509891;
  weights(296) = 0.0013939944763398509891;
  weights(297) = 0.0025084297429841086527;
  weights(298) = 0.0025084297429841086527;
  weights(299) = 0.0025084297429841086527;
  weights(300) = 0.00071528749768528512507;
  weights(301) = 0.00071528749768528512507;
  weights(302) = 0.00071528749768528512507;
  weights(303) = 0.00071528749768528512507;
  weights(304) = 0.00071528749768528512507;
  weights(305) = 0.00071528749768528512507;
  weights(306) = 0.0019860211209387248869;
  weights(307) = 0.0019860211209387248869;
  weights(308) = 0.0019860211209387248869;
  weights(309) = 0.0019860211209387248869;
  weights(310) = 0.0019860211209387248869;
  weights(311) = 0.0019860211209387248869;
  weights(312) = 0.00081151071469554481204;
  weights(313) = 0.00081151071469554481204;
  weights(314) = 0.00081151071469554481204;
  weights(315) = 0.00081151071469554481204;
  weights(316) = 0.00081151071469554481204;
  weights(317) = 0.00081151071469554481204;
  weights(318) = 0.0029412545630876536784;
  weights(319) = 0.0029412545630876536784;
  weights(320) = 0.0029412545630876536784;
  weights(321) = 0.0034707348271925167991;
  weights(322) = 0.0024154274389475475192;
  weights(323) = 0.0024154274389475475192;
  weights(324) = 0.0024154274389475475192;
  weights(325) = 0.0024154274389475475192;
  weights(326) = 0.0024154274389475475192;
  weights(327) = 0.0024154274389475475192;
  weights(328) = 0.0017698394080732534044;
  weights(329) = 0.0017698394080732534044;
  weights(330) = 0.0017698394080732534044;
  weights(331) = 0.0017698394080732534044;
  weights(332) = 0.0017698394080732534044;
  weights(333) = 0.0017698394080732534044;
  weights(334) = 0.0015685717310821363935;
  weights(335) = 0.0015685717310821363935;
  weights(336) = 0.0015685717310821363935;
  weights(337) = 0.0020465325739098374005;
  weights(338) = 0.0020465325739098374005;
  weights(339) = 0.0020465325739098374005;
  weights(340) = 0.0001835329947090308595;
  weights(341) = 0.0001835329947090308595;
  weights(342) = 0.0001835329947090308595;
  weights(343) = 0.0001835329947090308595;
  weights(344) = 0.0001835329947090308595;
  weights(345) = 0.0001835329947090308595;
  weights(346) = 0.00028548495470209121977;
  weights(347) = 0.00028548495470209121977;
  weights(348) = 0.00028548495470209121977;
  weights(349) = 0.00028548495470209121977;
  weights(350) = 0.00028548495470209121977;
  weights(351) = 0.00028548495470209121977;
  weights(352) = 0.00043805676958441153255;
  weights(353) = 0.00043805676958441153255;
  weights(354) = 0.00043805676958441153255;
  weights(355) = 0.00043805676958441153255;
  weights(356) = 0.00043805676958441153255;
  weights(357) = 0.00043805676958441153255;
  weights(358) = 0.00062565734266023021772;
  weights(359) = 0.00062565734266023021772;
  weights(360) = 0.00062565734266023021772;
  weights(361) = 0.0015435554874620842098;
  weights(362) = 0.0015435554874620842098;
  weights(363) = 0.0015435554874620842098;
  weights(364) = 0.0015435554874620842098;
  weights(365) = 0.0015435554874620842098;
  weights(366) = 0.0015435554874620842098;
  weights(367) = 0.0015279028851494166896;
  weights(368) = 0.0015279028851494166896;
  weights(369) = 0.0015279028851494166896;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 45);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 46>() { // NOLINT
  Eigen::MatrixXd points(2, 385);
  Eigen::VectorXd weights(385);

  points(0, 0) = 0.47916270948102113181;
  points(1, 0) = 0.041674581037957791896;
  points(0, 1) = 0.47916270948102113181;
  points(1, 1) = 0.47916270948102118732;
  points(0, 2) = 0.041674581037957680874;
  points(1, 2) = 0.47916270948102135385;
  points(0, 3) = 0.39796976464070982216;
  points(1, 3) = 0.15412314916607725013;
  points(0, 4) = 0.44790708619321289996;
  points(1, 4) = 0.39796976464070998869;
  points(0, 5) = 0.15412314916607713911;
  points(1, 5) = 0.44790708619321312201;
  points(0, 6) = 0.44790708619321284445;
  points(1, 6) = 0.15412314916607725013;
  points(0, 7) = 0.39796976464070987767;
  points(1, 7) = 0.44790708619321301098;
  points(0, 8) = 0.15412314916607713911;
  points(1, 8) = 0.3979697646407100442;
  points(0, 9) = 0.41430760798817578561;
  points(1, 9) = 0.11313670592402341741;
  points(0, 10) = 0.47255568608780079698;
  points(1, 10) = 0.41430760798817589663;
  points(0, 11) = 0.11313670592402333415;
  points(1, 11) = 0.472555686087800908;
  points(0, 12) = 0.47255568608780074147;
  points(1, 12) = 0.11313670592402341741;
  points(0, 13) = 0.41430760798817589663;
  points(1, 13) = 0.47255568608780085249;
  points(0, 14) = 0.1131367059240233619;
  points(1, 14) = 0.41430760798817600765;
  points(0, 15) = 0.32972824987662369134;
  points(1, 15) = 0.073018327779703282032;
  points(0, 16) = 0.59725342234367295724;
  points(1, 16) = 0.32972824987662380236;
  points(0, 17) = 0.07301832777970329591;
  points(1, 17) = 0.59725342234367317928;
  points(0, 18) = 0.59725342234367306826;
  points(1, 18) = 0.073018327779703282032;
  points(0, 19) = 0.32972824987662369134;
  points(1, 19) = 0.59725342234367306826;
  points(0, 20) = 0.073018327779703157132;
  points(1, 20) = 0.32972824987662391338;
  points(0, 21) = 0.22575924233005775776;
  points(1, 21) = 0.1098033768073635591;
  points(0, 22) = 0.6644373808625786415;
  points(1, 22) = 0.22575924233005781327;
  points(0, 23) = 0.10980337680736351746;
  points(1, 23) = 0.66443738086257897457;
  points(0, 24) = 0.6644373808625786415;
  points(1, 24) = 0.1098033768073635591;
  points(0, 25) = 0.22575924233005784103;
  points(1, 25) = 0.66443738086257875253;
  points(0, 26) = 0.10980337680736336481;
  points(1, 26) = 0.22575924233005803532;
  points(0, 27) = 0.048683079583319903427;
  points(1, 27) = 0.0486830795833202018;
  points(0, 28) = 0.9026338408333598462;
  points(1, 28) = 0.048683079583319917305;
  points(0, 29) = 0.048683079583320187922;
  points(1, 29) = 0.90263384083336006825;
  points(0, 30) = 0.48684943445257850003;
  points(1, 30) = 0.026301131094843031161;
  points(0, 31) = 0.48684943445257855554;
  points(1, 31) = 0.48684943445257850003;
  points(0, 32) = 0.02630113109484297218;
  points(1, 32) = 0.48684943445257872208;
  points(0, 33) = 0.3286993475605236581;
  points(1, 33) = 0.10283587537107295729;
  points(0, 34) = 0.56846477706840337074;
  points(1, 34) = 0.32869934756052371361;
  points(0, 35) = 0.10283587537107297116;
  points(1, 35) = 0.56846477706840348176;
  points(0, 36) = 0.56846477706840337074;
  points(1, 36) = 0.10283587537107295729;
  points(0, 37) = 0.3286993475605236581;
  points(1, 37) = 0.56846477706840348176;
  points(0, 38) = 0.10283587537107286014;
  points(1, 38) = 0.32869934756052388014;
  points(0, 39) = 0.057024518329280897422;
  points(1, 39) = 0.010455015344410085315;
  points(0, 40) = 0.93252046632630902767;
  points(1, 40) = 0.057024518329280876605;
  points(0, 41) = 0.010455015344410234501;
  points(1, 41) = 0.93252046632630913869;
  points(0, 42) = 0.93252046632630902767;
  points(1, 42) = 0.010455015344410085315;
  points(0, 43) = 0.057024518329281015383;
  points(1, 43) = 0.93252046632630913869;
  points(0, 44) = 0.010455015344409752248;
  points(1, 44) = 0.057024518329281202733;
  points(0, 45) = 0.21815349062760708287;
  points(1, 45) = 0.14752226154605641018;
  points(0, 46) = 0.63432424782633645144;
  points(1, 46) = 0.21815349062760713839;
  points(0, 47) = 0.14752226154605646569;
  points(1, 47) = 0.63432424782633656246;
  points(0, 48) = 0.63432424782633645144;
  points(1, 48) = 0.14752226154605641018;
  points(0, 49) = 0.2181534906276071939;
  points(1, 49) = 0.63432424782633656246;
  points(0, 50) = 0.1475222615460562714;
  points(1, 50) = 0.21815349062760730492;
  points(0, 51) = 0.20230634588346357861;
  points(1, 51) = 0.052126096807430084834;
  points(0, 52) = 0.74556755730910639901;
  points(1, 52) = 0.20230634588346360636;
  points(0, 53) = 0.052126096807430077895;
  points(1, 53) = 0.74556755730910651003;
  points(0, 54) = 0.74556755730910628799;
  points(1, 54) = 0.052126096807430084834;
  points(0, 55) = 0.20230634588346363412;
  points(1, 55) = 0.74556755730910651003;
  points(0, 56) = 0.052126096807429897484;
  points(1, 56) = 0.20230634588346388392;
  points(0, 57) = 0.21328320980880799418;
  points(1, 57) = 0.08008419576616888913;
  points(0, 58) = 0.70663259442502313057;
  points(1, 58) = 0.21328320980880802193;
  points(0, 59) = 0.080084195766168930763;
  points(1, 59) = 0.70663259442502324159;
  points(0, 60) = 0.70663259442502313057;
  points(1, 60) = 0.08008419576616888913;
  points(0, 61) = 0.21328320980880804969;
  points(1, 61) = 0.70663259442502324159;
  points(0, 62) = 0.080084195766168708719;
  points(1, 62) = 0.21328320980880832725;
  points(0, 63) = 0.0082133588712219682965;
  points(1, 63) = 0.0021607803546683061746;
  points(0, 64) = 0.98962586077410974461;
  points(1, 64) = 0.0082133588712219353367;
  points(0, 65) = 0.0021607803546684345442;
  points(1, 65) = 0.98962586077410985563;
  points(0, 66) = 0.98962586077410974461;
  points(1, 66) = 0.0021607803546683061746;
  points(0, 67) = 0.0082133588712220428896;
  points(1, 67) = 0.98962586077410985563;
  points(0, 68) = 0.0021607803546680459661;
  points(1, 68) = 0.0082133588712223204453;
  points(0, 69) = 0.46151536161230033439;
  points(1, 69) = 0.011363802349727281094;
  points(0, 70) = 0.52712083603797244002;
  points(1, 70) = 0.4615153616123003899;
  points(0, 71) = 0.011363802349727225582;
  points(1, 71) = 0.52712083603797266207;
  points(0, 72) = 0.527120836037972329;
  points(1, 72) = 0.011363802349727281094;
  points(0, 73) = 0.46151536161230033439;
  points(1, 73) = 0.52712083603797244002;
  points(0, 74) = 0.011363802349727197827;
  points(1, 74) = 0.46151536161230061195;
  points(0, 75) = 0.35462246731270569144;
  points(1, 75) = 0.12977852361765104816;
  points(0, 76) = 0.51559900906964317713;
  points(1, 76) = 0.35462246731270580247;
  points(0, 77) = 0.12977852361765096489;
  points(1, 77) = 0.51559900906964339917;
  points(0, 78) = 0.51559900906964328815;
  points(1, 78) = 0.12977852361765104816;
  points(0, 79) = 0.35462246731270580247;
  points(1, 79) = 0.51559900906964328815;
  points(0, 80) = 0.12977852361765090938;
  points(1, 80) = 0.354622467312705969;
  points(0, 81) = 0.31092064358603160867;
  points(1, 81) = 0.048937278607245400519;
  points(0, 82) = 0.64014207780672294223;
  points(1, 82) = 0.31092064358603166419;
  points(0, 83) = 0.048937278607245449091;
  points(1, 83) = 0.64014207780672316428;
  points(0, 84) = 0.64014207780672294223;
  points(1, 84) = 0.048937278607245400519;
  points(0, 85) = 0.31092064358603160867;
  points(1, 85) = 0.64014207780672316428;
  points(0, 86) = 0.048937278607245282558;
  points(1, 86) = 0.31092064358603188623;
  points(0, 87) = 0.30495578413323065625;
  points(1, 87) = 0.15841755900746595787;
  points(0, 88) = 0.53662665685930344139;
  points(1, 88) = 0.30495578413323071176;
  points(0, 89) = 0.15841755900746595787;
  points(1, 89) = 0.53662665685930355242;
  points(0, 90) = 0.53662665685930344139;
  points(1, 90) = 0.15841755900746595787;
  points(0, 91) = 0.30495578413323060074;
  points(1, 91) = 0.53662665685930355242;
  points(0, 92) = 0.15841755900746579133;
  points(1, 92) = 0.3049557841332308783;
  points(0, 93) = 0.25079443756390412679;
  points(1, 93) = 0.17550008543840911468;
  points(0, 94) = 0.57370547699768681404;
  points(1, 94) = 0.25079443756390423781;
  points(0, 95) = 0.17550008543840905917;
  points(1, 95) = 0.57370547699768692507;
  points(0, 96) = 0.57370547699768681404;
  points(1, 96) = 0.17550008543840911468;
  points(0, 97) = 0.2507944375639041823;
  points(1, 97) = 0.57370547699768681404;
  points(0, 98) = 0.17550008543840892039;
  points(1, 98) = 0.25079443756390434883;
  points(0, 99) = 0.19629480922944950172;
  points(1, 99) = 0.19629480922944969601;
  points(0, 100) = 0.60741038154110071901;
  points(1, 100) = 0.19629480922944952948;
  points(0, 101) = 0.1962948092294496405;
  points(1, 101) = 0.60741038154110094105;
  points(0, 102) = 0.16579871656709593841;
  points(1, 102) = 0.16579871656709618821;
  points(0, 103) = 0.66840256686580779011;
  points(1, 103) = 0.16579871656709602168;
  points(0, 104) = 0.16579871656709627148;
  points(1, 104) = 0.66840256686580790113;
  points(0, 105) = 0.43386922186448051431;
  points(1, 105) = 0.053126381310496288701;
  points(0, 106) = 0.51300439682502319005;
  points(1, 106) = 0.43386922186448056982;
  points(0, 107) = 0.053126381310496240129;
  points(1, 107) = 0.5130043968250234121;
  points(0, 108) = 0.51300439682502319005;
  points(1, 108) = 0.053126381310496288701;
  points(0, 109) = 0.43386922186448056982;
  points(1, 109) = 0.51300439682502319005;
  points(0, 110) = 0.053126381310496240129;
  points(1, 110) = 0.43386922186448073635;
  points(0, 111) = 0.077037698625319617207;
  points(1, 111) = 0.050908977358329568497;
  points(0, 112) = 0.87205332401635082817;
  points(1, 112) = 0.077037698625319603329;
  points(0, 113) = 0.05090897735832961013;
  points(1, 113) = 0.8720533240163509392;
  points(0, 114) = 0.87205332401635082817;
  points(1, 114) = 0.050908977358329568497;
  points(0, 115) = 0.077037698625319672718;
  points(1, 115) = 0.8720533240163509392;
  points(0, 116) = 0.050908977358329290941;
  points(1, 116) = 0.077037698625319922519;
  points(0, 117) = 0.27683618601952242333;
  points(1, 117) = 0.011121399597137749532;
  points(0, 118) = 0.71204241438333981673;
  points(1, 118) = 0.27683618601952247884;
  points(0, 119) = 0.011121399597137815451;
  points(1, 119) = 0.71204241438333992775;
  points(0, 120) = 0.71204241438333981673;
  points(1, 120) = 0.011121399597137749532;
  points(0, 121) = 0.27683618601952258986;
  points(1, 121) = 0.71204241438333981673;
  points(0, 122) = 0.011121399597137593407;
  points(1, 122) = 0.2768361860195227564;
  points(0, 123) = 0.17363716210342142188;
  points(1, 123) = 0.01177975368071797202;
  points(0, 124) = 0.81458308421586056447;
  points(1, 124) = 0.17363716210342142188;
  points(0, 125) = 0.011779753680718041409;
  points(1, 125) = 0.81458308421586078651;
  points(0, 126) = 0.81458308421586056447;
  points(1, 126) = 0.01177975368071797202;
  points(0, 127) = 0.17363716210342150514;
  points(1, 127) = 0.81458308421586078651;
  points(0, 128) = 0.011779753680717749975;
  points(1, 128) = 0.17363716210342175494;
  points(0, 129) = 0.33543368866137696083;
  points(1, 129) = 0.011808126303693369449;
  points(0, 130) = 0.65275818503492977207;
  points(1, 130) = 0.33543368866137696083;
  points(0, 131) = 0.011808126303693378123;
  points(1, 131) = 0.65275818503492988309;
  points(0, 132) = 0.65275818503492966105;
  points(1, 132) = 0.011808126303693369449;
  points(0, 133) = 0.33543368866137701634;
  points(1, 133) = 0.65275818503492977207;
  points(0, 134) = 0.01180812630369321159;
  points(1, 134) = 0.33543368866137723838;
  points(0, 135) = 0.37506421845239662494;
  points(1, 135) = 0.051243883990893634994;
  points(0, 136) = 0.57369189755670979558;
  points(1, 136) = 0.37506421845239673596;
  points(0, 137) = 0.051243883990893579483;
  points(1, 137) = 0.5736918975567099066;
  points(0, 138) = 0.57369189755670979558;
  points(1, 138) = 0.051243883990893634994;
  points(0, 139) = 0.37506421845239668045;
  points(1, 139) = 0.57369189755670979558;
  points(0, 140) = 0.051243883990893523972;
  points(1, 140) = 0.37506421845239690249;
  points(0, 141) = 0.34671128612990043116;
  points(1, 141) = 0.18254125647613284045;
  points(0, 142) = 0.4707474573939667839;
  points(1, 142) = 0.34671128612990054219;
  points(0, 143) = 0.18254125647613275718;
  points(1, 143) = 0.47074745739396689492;
  points(0, 144) = 0.47074745739396672839;
  points(1, 144) = 0.18254125647613284045;
  points(0, 145) = 0.34671128612990048667;
  points(1, 145) = 0.47074745739396683941;
  points(0, 146) = 0.18254125647613267391;
  points(1, 146) = 0.34671128612990065321;
  points(0, 147) = 0.25596851126066411108;
  points(1, 147) = 0.05390187145029286947;
  points(0, 148) = 0.69012961728904298475;
  points(1, 148) = 0.2559685112606641666;
  points(0, 149) = 0.053901871450292904164;
  points(1, 149) = 0.6901296172890432068;
  points(0, 150) = 0.69012961728904309577;
  points(1, 150) = 0.05390187145029286947;
  points(0, 151) = 0.2559685112606641666;
  points(1, 151) = 0.69012961728904309577;
  points(0, 152) = 0.053901871450292654364;
  points(1, 152) = 0.25596851126066438864;
  points(0, 153) = 0.29200692078853163203;
  points(1, 153) = 0.027343313461553699073;
  points(0, 154) = 0.68064976574991464808;
  points(1, 154) = 0.29200692078853163203;
  points(0, 155) = 0.027343313461553775401;
  points(1, 155) = 0.68064976574991475911;
  points(0, 156) = 0.68064976574991464808;
  points(1, 156) = 0.027343313461553699073;
  points(0, 157) = 0.29200692078853168754;
  points(1, 157) = 0.68064976574991475911;
  points(0, 158) = 0.02734331346155347009;
  points(1, 158) = 0.29200692078853190958;
  points(0, 159) = 0.23641723957957555546;
  points(1, 159) = 0.029742381879280268414;
  points(0, 160) = 0.7338403785411441449;
  points(1, 160) = 0.23641723957957558322;
  points(0, 161) = 0.029742381879280299639;
  points(1, 161) = 0.73384037854114436694;
  points(0, 162) = 0.7338403785411441449;
  points(1, 162) = 0.029742381879280268414;
  points(0, 163) = 0.23641723957957555546;
  points(1, 163) = 0.73384037854114436694;
  points(0, 164) = 0.029742381879280063717;
  points(1, 164) = 0.23641723957957586078;
  points(0, 165) = 0.46615089812943544256;
  points(1, 165) = 0.0021912946810573653324;
  points(0, 166) = 0.53165780718950716999;
  points(1, 166) = 0.46615089812943555359;
  points(0, 167) = 0.0021912946810573319389;
  points(1, 167) = 0.53165780718950739203;
  points(0, 168) = 0.53165780718950716999;
  points(1, 168) = 0.0021912946810573653324;
  points(0, 169) = 0.46615089812943544256;
  points(1, 169) = 0.53165780718950728101;
  points(0, 170) = 0.0021912946810573041834;
  points(1, 170) = 0.46615089812943572012;
  points(0, 171) = 0.22348262914558564285;
  points(1, 171) = 0.01257366583660426973;
  points(0, 172) = 0.76394370501781017069;
  points(1, 172) = 0.22348262914558564285;
  points(0, 173) = 0.012573665836604241974;
  points(1, 173) = 0.76394370501781039273;
  points(0, 174) = 0.76394370501781017069;
  points(1, 174) = 0.01257366583660426973;
  points(0, 175) = 0.22348262914558564285;
  points(1, 175) = 0.76394370501781028171;
  points(0, 176) = 0.012573665836604075441;
  points(1, 176) = 0.2234826291455859204;
  points(0, 177) = 0.39736801387800058105;
  points(1, 177) = 0.011519669129512542793;
  points(0, 178) = 0.59111231699248678595;
  points(1, 178) = 0.39736801387800063656;
  points(0, 179) = 0.011519669129512466466;
  points(1, 179) = 0.59111231699248711902;
  points(0, 180) = 0.59111231699248689697;
  points(1, 180) = 0.011519669129512542793;
  points(0, 181) = 0.39736801387800058105;
  points(1, 181) = 0.59111231699248700799;
  points(0, 182) = 0.01151966912951243871;
  points(1, 182) = 0.39736801387800085861;
  points(0, 183) = 0.28567924324498994437;
  points(1, 183) = 0.21066803766676633902;
  points(0, 184) = 0.50365271908824360558;
  points(1, 184) = 0.28567924324499005539;
  points(0, 185) = 0.21066803766676628351;
  points(1, 185) = 0.50365271908824382763;
  points(0, 186) = 0.50365271908824360558;
  points(1, 186) = 0.21066803766676633902;
  points(0, 187) = 0.28567924324498994437;
  points(1, 187) = 0.50365271908824382763;
  points(0, 188) = 0.21066803766676620024;
  points(1, 188) = 0.28567924324499011091;
  points(0, 189) = 0.22900711778704460619;
  points(1, 189) = 0.22900711778704480048;
  points(0, 190) = 0.54198576442591051006;
  points(1, 190) = 0.22900711778704471722;
  points(0, 191) = 0.22900711778704480048;
  points(1, 191) = 0.54198576442591062108;
  points(0, 192) = 0.29989810187972859579;
  points(1, 192) = 0.29989810187972876232;
  points(0, 193) = 0.4002037962405426974;
  points(1, 193) = 0.29989810187972870681;
  points(0, 194) = 0.29989810187972859579;
  points(1, 194) = 0.40020379624054280843;
  points(0, 195) = 0.4009919122964067939;
  points(1, 195) = 0.0021708502824680378854;
  points(0, 196) = 0.59683723742112526622;
  points(1, 196) = 0.40099191229640684941;
  points(0, 197) = 0.0021708502824679953846;
  points(1, 197) = 0.59683723742112537725;
  points(0, 198) = 0.59683723742112526622;
  points(1, 198) = 0.0021708502824680378854;
  points(0, 199) = 0.40099191229640673839;
  points(1, 199) = 0.59683723742112526622;
  points(0, 200) = 0.0021708502824679676291;
  points(1, 200) = 0.40099191229640701595;
  points(0, 201) = 0.15627351040407674865;
  points(1, 201) = 0.055766422379797946085;
  points(0, 202) = 0.78796006721612532608;
  points(1, 202) = 0.1562735104040767764;
  points(0, 203) = 0.055766422379798008535;
  points(1, 203) = 0.78796006721612543711;
  points(0, 204) = 0.78796006721612532608;
  points(1, 204) = 0.055766422379797946085;
  points(0, 205) = 0.15627351040407683191;
  points(1, 205) = 0.78796006721612543711;
  points(0, 206) = 0.055766422379797744857;
  points(1, 206) = 0.15627351040407708171;
  points(0, 207) = 0.047785893684681848836;
  points(1, 207) = 0.0020979082703016307954;
  points(0, 208) = 0.95011619804501645792;
  points(1, 208) = 0.047785893684681814142;
  points(0, 209) = 0.0020979082703018181455;
  points(1, 209) = 0.95011619804501667996;
  points(0, 210) = 0.95011619804501656894;
  points(1, 210) = 0.0020979082703016307954;
  points(0, 211) = 0.047785893684681945981;
  points(1, 211) = 0.95011619804501667996;
  points(0, 212) = 0.0020979082703013463007;
  points(1, 212) = 0.047785893684682168026;
  points(0, 213) = 0.18224915993137408288;
  points(1, 213) = 0.029078197579592519884;
  points(0, 214) = 0.78867264248903345969;
  points(1, 214) = 0.18224915993137408288;
  points(0, 215) = 0.029078197579592512945;
  points(1, 215) = 0.78867264248903368173;
  points(0, 216) = 0.78867264248903334867;
  points(1, 216) = 0.029078197579592519884;
  points(0, 217) = 0.1822491599313741939;
  points(1, 217) = 0.78867264248903345969;
  points(0, 218) = 0.029078197579592332533;
  points(1, 218) = 0.18224915993137438819;
  points(0, 219) = 0.3660812614114253849;
  points(1, 219) = 0.26783747717714928571;
  points(0, 220) = 0.3660812614114253849;
  points(1, 220) = 0.36608126141142544041;
  points(0, 221) = 0.26783747717714911918;
  points(1, 221) = 0.36608126141142555143;
  points(0, 222) = 0.089347568191985915487;
  points(1, 222) = 0.011582966844025256031;
  points(0, 223) = 0.89906946496398876256;
  points(1, 223) = 0.089347568191985887731;
  points(0, 224) = 0.011582966844025377462;
  points(1, 224) = 0.89906946496398898461;
  points(0, 225) = 0.89906946496398887358;
  points(1, 225) = 0.011582966844025256031;
  points(0, 226) = 0.089347568191985970998;
  points(1, 226) = 0.89906946496398898461;
  points(0, 227) = 0.011582966844025016639;
  points(1, 227) = 0.089347568191986248554;
  points(0, 228) = 0.1652198812399127692;
  points(1, 228) = 0.087462361650272782421;
  points(0, 229) = 0.74731775710981440675;
  points(1, 229) = 0.1652198812399127692;
  points(0, 230) = 0.087462361650272879565;
  points(1, 230) = 0.74731775710981462879;
  points(0, 231) = 0.74731775710981440675;
  points(1, 231) = 0.087462361650272782421;
  points(0, 232) = 0.16521988123991282471;
  points(1, 232) = 0.74731775710981462879;
  points(0, 233) = 0.087462361650272560376;
  points(1, 233) = 0.165219881239913019;
  points(0, 234) = 0.080528004739168435044;
  points(1, 234) = 0.0020785035982192664322;
  points(0, 235) = 0.91739349166261230373;
  points(1, 235) = 0.080528004739168407289;
  points(0, 236) = 0.0020785035982194832727;
  points(1, 236) = 0.91739349166261230373;
  points(0, 237) = 0.91739349166261219271;
  points(1, 237) = 0.0020785035982192664322;
  points(0, 238) = 0.080528004739168546067;
  points(1, 238) = 0.91739349166261230373;
  points(0, 239) = 0.0020785035982190253057;
  points(1, 239) = 0.080528004739168795867;
  points(0, 240) = 0.33054150156759903867;
  points(1, 240) = 0.2364777837447837594;
  points(0, 241) = 0.43298071468761722969;
  points(1, 241) = 0.33054150156759914969;
  points(0, 242) = 0.23647778374478367613;
  points(1, 242) = 0.43298071468761734071;
  points(0, 243) = 0.43298071468761722969;
  points(1, 243) = 0.2364777837447837594;
  points(0, 244) = 0.33054150156759909418;
  points(1, 244) = 0.4329807146876172852;
  points(0, 245) = 0.23647778374478362062;
  points(1, 245) = 0.3305415015675992052;
  points(0, 246) = 0.17507401325229360323;
  points(1, 246) = 0.12280901805371288726;
  points(0, 247) = 0.70211696869399353726;
  points(1, 247) = 0.17507401325229365874;
  points(0, 248) = 0.12280901805371297053;
  points(1, 248) = 0.70211696869399353726;
  points(0, 249) = 0.70211696869399342624;
  points(1, 249) = 0.12280901805371288726;
  points(0, 250) = 0.17507401325229365874;
  points(1, 250) = 0.70211696869399364829;
  points(0, 251) = 0.12280901805371263746;
  points(1, 251) = 0.17507401325229388078;
  points(0, 252) = 0.11339497302942236345;
  points(1, 252) = 0.055005028444483843042;
  points(0, 253) = 0.83159999852609378657;
  points(1, 253) = 0.1133949730294223357;
  points(0, 254) = 0.055005028444483961003;
  points(1, 254) = 0.83159999852609389759;
  points(0, 255) = 0.83159999852609378657;
  points(1, 255) = 0.055005028444483843042;
  points(0, 256) = 0.11339497302942241896;
  points(1, 256) = 0.83159999852609389759;
  points(0, 257) = 0.05500502844448360712;
  points(1, 257) = 0.11339497302942262713;
  points(0, 258) = 0.094544228406448813096;
  points(1, 258) = 0.028793533227112116935;
  points(0, 259) = 0.87666223836643908385;
  points(1, 259) = 0.09454422840644878534;
  points(0, 260) = 0.028793533227112200201;
  points(1, 260) = 0.87666223836643930589;
  points(0, 261) = 0.87666223836643908385;
  points(1, 261) = 0.028793533227112116935;
  points(0, 262) = 0.094544228406448826973;
  points(1, 262) = 0.87666223836643930589;
  points(0, 263) = 0.028793533227111839379;
  points(1, 263) = 0.094544228406449104529;
  points(0, 264) = 0.058958942360846297581;
  points(1, 264) = 0.026293331791867793207;
  points(0, 265) = 0.9147477258472858086;
  points(1, 265) = 0.058958942360846290642;
  points(0, 266) = 0.026293331791867824432;
  points(1, 266) = 0.91474772584728614166;
  points(0, 267) = 0.91474772584728591962;
  points(1, 267) = 0.026293331791867793207;
  points(0, 268) = 0.058958942360846255948;
  points(1, 268) = 0.91474772584728614166;
  points(0, 269) = 0.026293331791867602387;
  points(1, 269) = 0.058958942360846644526;
  points(0, 270) = 0.35544611710236967417;
  points(1, 270) = 0.028307327385223592792;
  points(0, 271) = 0.61624655551240681284;
  points(1, 271) = 0.35544611710236972968;
  points(0, 272) = 0.028307327385223568506;
  points(1, 272) = 0.61624655551240703488;
  points(0, 273) = 0.61624655551240670182;
  points(1, 273) = 0.028307327385223592792;
  points(0, 274) = 0.35544611710236956315;
  points(1, 274) = 0.61624655551240692386;
  points(0, 275) = 0.028307327385223485239;
  points(1, 275) = 0.35544611710236989621;
  points(0, 276) = 0.42062784444542888895;
  points(1, 276) = 0.028126938807138880672;
  points(0, 277) = 0.55124521674743220956;
  points(1, 277) = 0.42062784444542894446;
  points(0, 278) = 0.028126938807138845977;
  points(1, 278) = 0.5512452167474324316;
  points(0, 279) = 0.55124521674743220956;
  points(1, 279) = 0.028126938807138880672;
  points(0, 280) = 0.42062784444542894446;
  points(1, 280) = 0.55124521674743232058;
  points(0, 281) = 0.02812693880713876271;
  points(1, 281) = 0.42062784444542916651;
  points(0, 282) = 0.030769343952081765203;
  points(1, 282) = 0.030769343952082056637;
  points(0, 283) = 0.93846131209583616428;
  points(1, 283) = 0.030769343952081737448;
  points(0, 284) = 0.030769343952082139904;
  points(1, 284) = 0.93846131209583638633;
  points(0, 285) = 0.27634247716644572135;
  points(1, 285) = 0.0021009010930692672073;
  points(0, 286) = 0.72155662174048496027;
  points(1, 286) = 0.27634247716644572135;
  points(0, 287) = 0.0021009010930693738928;
  points(1, 287) = 0.72155662174048507129;
  points(0, 288) = 0.72155662174048507129;
  points(1, 288) = 0.0021009010930692672073;
  points(0, 289) = 0.27634247716644583237;
  points(1, 289) = 0.72155662174048507129;
  points(0, 290) = 0.0021009010930690685814;
  points(1, 290) = 0.27634247716644605442;
  points(0, 291) = 0.1358344051381372708;
  points(1, 291) = 0.030522100402259864232;
  points(0, 292) = 0.83364349445960284068;
  points(1, 292) = 0.1358344051381372708;
  points(0, 293) = 0.030522100402259999541;
  points(1, 293) = 0.83364349445960295171;
  points(0, 294) = 0.83364349445960295171;
  points(1, 294) = 0.030522100402259864232;
  points(0, 295) = 0.13583440513813738182;
  points(1, 295) = 0.83364349445960295171;
  points(0, 296) = 0.030522100402259610963;
  points(1, 296) = 0.13583440513813760386;
  points(0, 297) = 0.12143244492038729465;
  points(1, 297) = 0.088143041981530334539;
  points(0, 298) = 0.79042451309808225979;
  points(1, 298) = 0.12143244492038729465;
  points(0, 299) = 0.088143041981530445561;
  points(1, 299) = 0.79042451309808248183;
  points(0, 300) = 0.79042451309808237081;
  points(1, 300) = 0.088143041981530334539;
  points(0, 301) = 0.12143244492038740567;
  points(1, 301) = 0.79042451309808248183;
  points(0, 302) = 0.088143041981530084739;
  points(1, 302) = 0.12143244492038758608;
  points(0, 303) = 0.082498693763558283987;
  points(1, 303) = 0.082498693763558561542;
  points(0, 304) = 0.83500261247288309896;
  points(1, 304) = 0.082498693763558270109;
  points(0, 305) = 0.082498693763558672565;
  points(1, 305) = 0.835002612472883321;
  points(0, 306) = 0.12925448133294820119;
  points(1, 306) = 0.012580807272203869962;
  points(0, 307) = 0.8581647113948479566;
  points(1, 307) = 0.12925448133294820119;
  points(0, 308) = 0.012580807272203897718;
  points(1, 308) = 0.85816471139484806763;
  points(0, 309) = 0.8581647113948479566;
  points(1, 309) = 0.012580807272203869962;
  points(0, 310) = 0.12925448133294831221;
  points(1, 310) = 0.8581647113948479566;
  points(0, 311) = 0.01258080727220363404;
  points(1, 311) = 0.12925448133294856201;
  points(0, 312) = 0.27293931833032630818;
  points(1, 312) = 0.083876055657832168655;
  points(0, 313) = 0.6431846260118415648;
  points(1, 313) = 0.27293931833032636369;
  points(0, 314) = 0.083876055657832182533;
  points(1, 314) = 0.64318462601184167582;
  points(0, 315) = 0.64318462601184145377;
  points(1, 315) = 0.083876055657832168655;
  points(0, 316) = 0.27293931833032636369;
  points(1, 316) = 0.64318462601184167582;
  points(0, 317) = 0.083876055657832043755;
  points(1, 317) = 0.27293931833032653023;
  points(0, 318) = 0.46082300434758810548;
  points(1, 318) = 0.078353991304823789044;
  points(0, 319) = 0.46082300434758810548;
  points(1, 319) = 0.46082300434758816099;
  points(0, 320) = 0.078353991304823678021;
  points(1, 320) = 0.46082300434758838303;
  points(0, 321) = 0.2762244316742869521;
  points(1, 321) = 0.12479160044470478941;
  points(0, 322) = 0.59898396788100827237;
  points(1, 322) = 0.27622443167428706312;
  points(0, 323) = 0.12479160044470477553;
  points(1, 323) = 0.59898396788100838339;
  points(0, 324) = 0.59898396788100827237;
  points(1, 324) = 0.12479160044470478941;
  points(0, 325) = 0.2762244316742869521;
  points(1, 325) = 0.59898396788100838339;
  points(0, 326) = 0.124791600444704609;
  points(1, 326) = 0.27622443167428722965;
  points(0, 327) = 0.16653106199180106595;
  points(1, 327) = 0.0022302492894394911581;
  points(0, 328) = 0.83123868871875949971;
  points(1, 328) = 0.16653106199180106595;
  points(0, 329) = 0.002230249289439489857;
  points(1, 329) = 0.83123868871875972175;
  points(0, 330) = 0.83123868871875938868;
  points(1, 330) = 0.0022302492894394911581;
  points(0, 331) = 0.16653106199180101044;
  points(1, 331) = 0.83123868871875972175;
  points(0, 332) = 0.0022302492894392678124;
  points(1, 332) = 0.1665310619918013435;
  points(0, 333) = 0.33732386187895557761;
  points(1, 333) = 0.0022846671110010245524;
  points(0, 334) = 0.66039147101004336271;
  points(1, 334) = 0.33732386187895563312;
  points(0, 335) = 0.0022846671110011151917;
  points(1, 335) = 0.66039147101004347373;
  points(0, 336) = 0.66039147101004336271;
  points(1, 336) = 0.0022846671110010245524;
  points(0, 337) = 0.33732386187895563312;
  points(1, 337) = 0.66039147101004347373;
  points(0, 338) = 0.0022846671110009209027;
  points(1, 338) = 0.33732386187895585516;
  points(0, 339) = 0.26661570869769674053;
  points(1, 339) = 0.26661570869769690706;
  points(0, 340) = 0.46676858260460640793;
  points(1, 340) = 0.26661570869769685155;
  points(0, 341) = 0.26661570869769685155;
  points(1, 341) = 0.46676858260460651895;
  points(0, 342) = 0.12843943494751225431;
  points(1, 342) = 0.12843943494751253187;
  points(0, 343) = 0.74312113010497526933;
  points(1, 343) = 0.12843943494751228207;
  points(0, 344) = 0.12843943494751253187;
  points(1, 344) = 0.74312113010497538035;
  points(0, 345) = 0.38998483768037878194;
  points(1, 345) = 0.083193302580065867091;
  points(0, 346) = 0.52682185973955530933;
  points(1, 346) = 0.38998483768037889297;
  points(0, 347) = 0.083193302580065797702;
  points(1, 347) = 0.5268218597395556424;
  points(0, 348) = 0.52682185973955530933;
  points(1, 348) = 0.083193302580065867091;
  points(0, 349) = 0.38998483768037878194;
  points(1, 349) = 0.52682185973955542035;
  points(0, 350) = 0.08319330258006568668;
  points(1, 350) = 0.3899848376803790595;
  points(0, 351) = 0.33333333333333325932;
  points(1, 351) = 0.33333333333333342585;
  points(0, 352) = 0.21905740202960691243;
  points(1, 352) = 0.0024070310918325697747;
  points(0, 353) = 0.77853556687856051433;
  points(1, 353) = 0.21905740202960694019;
  points(0, 354) = 0.0024070310918326565108;
  points(1, 354) = 0.77853556687856062535;
  points(0, 355) = 0.77853556687856051433;
  points(1, 355) = 0.0024070310918325697747;
  points(0, 356) = 0.21905740202960694019;
  points(1, 356) = 0.77853556687856062535;
  points(0, 357) = 0.0024070310918323789551;
  points(1, 357) = 0.21905740202960721774;
  points(0, 358) = 0.12034134244309031836;
  points(1, 358) = 0.0024170636184783437367;
  points(0, 359) = 0.87724159393843126331;
  points(1, 359) = 0.12034134244309033224;
  points(0, 360) = 0.0024170636184784322076;
  points(1, 360) = 0.87724159393843148536;
  points(0, 361) = 0.87724159393843126331;
  points(1, 361) = 0.0024170636184783437367;
  points(0, 362) = 0.12034134244309035999;
  points(1, 362) = 0.87724159393843148536;
  points(0, 363) = 0.0024170636184781199574;
  points(1, 363) = 0.12034134244309065143;
  points(0, 364) = 0.39751157540204828944;
  points(1, 364) = 0.20497684919590336561;
  points(0, 365) = 0.39751157540204840046;
  points(1, 365) = 0.39751157540204845597;
  points(0, 366) = 0.20497684919590325459;
  points(1, 366) = 0.39751157540204851149;
  points(0, 367) = 0.032143459785426764519;
  points(1, 367) = 0.012886871818453049521;
  points(0, 368) = 0.95496966839612007494;
  points(1, 368) = 0.032143459785426799213;
  points(0, 369) = 0.012886871818453216054;
  points(1, 369) = 0.95496966839612018596;
  points(0, 370) = 0.95496966839612018596;
  points(1, 370) = 0.012886871818453049521;
  points(0, 371) = 0.032143459785426875541;
  points(1, 371) = 0.954969668396120408;
  points(0, 372) = 0.012886871818452761557;
  points(1, 372) = 0.032143459785427118403;
  points(0, 373) = 0.012879698435885033117;
  points(1, 373) = 0.012879698435885347102;
  points(0, 374) = 0.97424060312822957641;
  points(1, 374) = 0.012879698435885026178;
  points(0, 375) = 0.012879698435885433838;
  points(1, 375) = 0.97424060312822979846;
  points(0, 376) = 0.023978362588197424388;
  points(1, 376) = 0.0025873987120107176142;
  points(0, 377) = 0.97343423869979184282;
  points(1, 377) = 0.023978362588197379285;
  points(0, 378) = 0.0025873987120109687154;
  points(1, 378) = 0.97343423869979184282;
  points(0, 379) = 0.97343423869979184282;
  points(1, 379) = 0.0025873987120107176142;
  points(0, 380) = 0.023978362588197521532;
  points(1, 380) = 0.97343423869979206486;
  points(0, 381) = 0.0025873987120104031956;
  points(1, 381) = 0.023978362588197764393;
  points(0, 382) = 0.00049292224240579923106;
  points(1, 382) = 0.00049292224240609673613;
  points(0, 383) = 0.99901415551518801816;
  points(1, 383) = 0.00049292224240577613755;
  points(0, 384) = 0.00049292224240626847376;
  points(1, 384) = 0.99901415551518812919;

  weights(0) = 0.00075318119394979080906;
  weights(1) = 0.00075318119394979080906;
  weights(2) = 0.00075318119394979080906;
  weights(3) = 0.0022268540934664970282;
  weights(4) = 0.0022268540934664970282;
  weights(5) = 0.0022268540934664970282;
  weights(6) = 0.0022268540934664970282;
  weights(7) = 0.0022268540934664970282;
  weights(8) = 0.0022268540934664970282;
  weights(9) = 0.0021600047623208142034;
  weights(10) = 0.0021600047623208142034;
  weights(11) = 0.0021600047623208142034;
  weights(12) = 0.0021600047623208142034;
  weights(13) = 0.0021600047623208142034;
  weights(14) = 0.0021600047623208142034;
  weights(15) = 0.0015434398279694607533;
  weights(16) = 0.0015434398279694607533;
  weights(17) = 0.0015434398279694607533;
  weights(18) = 0.0015434398279694607533;
  weights(19) = 0.0015434398279694607533;
  weights(20) = 0.0015434398279694607533;
  weights(21) = 0.0017151129077401620904;
  weights(22) = 0.0017151129077401620904;
  weights(23) = 0.0017151129077401620904;
  weights(24) = 0.0017151129077401620904;
  weights(25) = 0.0017151129077401620904;
  weights(26) = 0.0017151129077401620904;
  weights(27) = 0.00062373459082267076418;
  weights(28) = 0.00062373459082267076418;
  weights(29) = 0.00062373459082267076418;
  weights(30) = 0.0010947581916500527446;
  weights(31) = 0.0010947581916500527446;
  weights(32) = 0.0010947581916500527446;
  weights(33) = 0.0018913809911956275429;
  weights(34) = 0.0018913809911956275429;
  weights(35) = 0.0018913809911956275429;
  weights(36) = 0.0018913809911956275429;
  weights(37) = 0.0018913809911956275429;
  weights(38) = 0.0018913809911956275429;
  weights(39) = 0.00033521532003130352249;
  weights(40) = 0.00033521532003130352249;
  weights(41) = 0.00033521532003130352249;
  weights(42) = 0.00033521532003130352249;
  weights(43) = 0.00033521532003130352249;
  weights(44) = 0.00033521532003130352249;
  weights(45) = 0.0020870573836702641969;
  weights(46) = 0.0020870573836702641969;
  weights(47) = 0.0020870573836702641969;
  weights(48) = 0.0020870573836702641969;
  weights(49) = 0.0020870573836702641969;
  weights(50) = 0.0020870573836702641969;
  weights(51) = 0.0012791833284880090721;
  weights(52) = 0.0012791833284880090721;
  weights(53) = 0.0012791833284880090721;
  weights(54) = 0.0012791833284880090721;
  weights(55) = 0.0012791833284880090721;
  weights(56) = 0.0012791833284880090721;
  weights(57) = 0.0015919934760616411603;
  weights(58) = 0.0015919934760616411603;
  weights(59) = 0.0015919934760616411603;
  weights(60) = 0.0015919934760616411603;
  weights(61) = 0.0015919934760616411603;
  weights(62) = 0.0015919934760616411603;
  weights(63) = 6.5858546397695432047e-05;
  weights(64) = 6.5858546397695432047e-05;
  weights(65) = 6.5858546397695432047e-05;
  weights(66) = 6.5858546397695432047e-05;
  weights(67) = 6.5858546397695432047e-05;
  weights(68) = 6.5858546397695432047e-05;
  weights(69) = 0.00082283619155300075001;
  weights(70) = 0.00082283619155300075001;
  weights(71) = 0.00082283619155300075001;
  weights(72) = 0.00082283619155300075001;
  weights(73) = 0.00082283619155300075001;
  weights(74) = 0.00082283619155300075001;
  weights(75) = 0.0022977415466292751105;
  weights(76) = 0.0022977415466292751105;
  weights(77) = 0.0022977415466292751105;
  weights(78) = 0.0022977415466292751105;
  weights(79) = 0.0022977415466292751105;
  weights(80) = 0.0022977415466292751105;
  weights(81) = 0.0014344300784078093183;
  weights(82) = 0.0014344300784078093183;
  weights(83) = 0.0014344300784078093183;
  weights(84) = 0.0014344300784078093183;
  weights(85) = 0.0014344300784078093183;
  weights(86) = 0.0014344300784078093183;
  weights(87) = 0.0023633670304601113281;
  weights(88) = 0.0023633670304601113281;
  weights(89) = 0.0023633670304601113281;
  weights(90) = 0.0023633670304601113281;
  weights(91) = 0.0023633670304601113281;
  weights(92) = 0.0023633670304601113281;
  weights(93) = 0.0024043658844147552944;
  weights(94) = 0.0024043658844147552944;
  weights(95) = 0.0024043658844147552944;
  weights(96) = 0.0024043658844147552944;
  weights(97) = 0.0024043658844147552944;
  weights(98) = 0.0024043658844147552944;
  weights(99) = 0.0022663082591709128935;
  weights(100) = 0.0022663082591709128935;
  weights(101) = 0.0022663082591709128935;
  weights(102) = 0.0020560667756080457276;
  weights(103) = 0.0020560667756080457276;
  weights(104) = 0.0020560667756080457276;
  weights(105) = 0.0015963835418467235694;
  weights(106) = 0.0015963835418467235694;
  weights(107) = 0.0015963835418467235694;
  weights(108) = 0.0015963835418467235694;
  weights(109) = 0.0015963835418467235694;
  weights(110) = 0.0015963835418467235694;
  weights(111) = 0.00087438252514471497684;
  weights(112) = 0.00087438252514471497684;
  weights(113) = 0.00087438252514471497684;
  weights(114) = 0.00087438252514471497684;
  weights(115) = 0.00087438252514471497684;
  weights(116) = 0.00087438252514471497684;
  weights(117) = 0.00071533516619150380386;
  weights(118) = 0.00071533516619150380386;
  weights(119) = 0.00071533516619150380386;
  weights(120) = 0.00071533516619150380386;
  weights(121) = 0.00071533516619150380386;
  weights(122) = 0.00071533516619150380386;
  weights(123) = 0.00063408763946766510174;
  weights(124) = 0.00063408763946766510174;
  weights(125) = 0.00063408763946766510174;
  weights(126) = 0.00063408763946766510174;
  weights(127) = 0.00063408763946766510174;
  weights(128) = 0.00063408763946766510174;
  weights(129) = 0.00078951687195583791778;
  weights(130) = 0.00078951687195583791778;
  weights(131) = 0.00078951687195583791778;
  weights(132) = 0.00078951687195583791778;
  weights(133) = 0.00078951687195583791778;
  weights(134) = 0.00078951687195583791778;
  weights(135) = 0.001607722604216026618;
  weights(136) = 0.001607722604216026618;
  weights(137) = 0.001607722604216026618;
  weights(138) = 0.001607722604216026618;
  weights(139) = 0.001607722604216026618;
  weights(140) = 0.001607722604216026618;
  weights(141) = 0.0026988529110084772712;
  weights(142) = 0.0026988529110084772712;
  weights(143) = 0.0026988529110084772712;
  weights(144) = 0.0026988529110084772712;
  weights(145) = 0.0026988529110084772712;
  weights(146) = 0.0026988529110084772712;
  weights(147) = 0.0015313526015054393543;
  weights(148) = 0.0015313526015054393543;
  weights(149) = 0.0015313526015054393543;
  weights(150) = 0.0015313526015054393543;
  weights(151) = 0.0015313526015054393543;
  weights(152) = 0.0015313526015054393543;
  weights(153) = 0.0011596092048187249448;
  weights(154) = 0.0011596092048187249448;
  weights(155) = 0.0011596092048187249448;
  weights(156) = 0.0011596092048187249448;
  weights(157) = 0.0011596092048187249448;
  weights(158) = 0.0011596092048187249448;
  weights(159) = 0.0011480501450886414737;
  weights(160) = 0.0011480501450886414737;
  weights(161) = 0.0011480501450886414737;
  weights(162) = 0.0011480501450886414737;
  weights(163) = 0.0011480501450886414737;
  weights(164) = 0.0011480501450886414737;
  weights(165) = 0.00036690516603559987204;
  weights(166) = 0.00036690516603559987204;
  weights(167) = 0.00036690516603559987204;
  weights(168) = 0.00036690516603559987204;
  weights(169) = 0.00036690516603559987204;
  weights(170) = 0.00036690516603559987204;
  weights(171) = 0.00072188013837040274859;
  weights(172) = 0.00072188013837040274859;
  weights(173) = 0.00072188013837040274859;
  weights(174) = 0.00072188013837040274859;
  weights(175) = 0.00072188013837040274859;
  weights(176) = 0.00072188013837040274859;
  weights(177) = 0.00082933316198212998945;
  weights(178) = 0.00082933316198212998945;
  weights(179) = 0.00082933316198212998945;
  weights(180) = 0.00082933316198212998945;
  weights(181) = 0.00082933316198212998945;
  weights(182) = 0.00082933316198212998945;
  weights(183) = 0.0027853646540566229066;
  weights(184) = 0.0027853646540566229066;
  weights(185) = 0.0027853646540566229066;
  weights(186) = 0.0027853646540566229066;
  weights(187) = 0.0027853646540566229066;
  weights(188) = 0.0027853646540566229066;
  weights(189) = 0.0026681419989316580536;
  weights(190) = 0.0026681419989316580536;
  weights(191) = 0.0026681419989316580536;
  weights(192) = 0.0032378109639113060621;
  weights(193) = 0.0032378109639113060621;
  weights(194) = 0.0032378109639113060621;
  weights(195) = 0.00036071871723229904927;
  weights(196) = 0.00036071871723229904927;
  weights(197) = 0.00036071871723229904927;
  weights(198) = 0.00036071871723229904927;
  weights(199) = 0.00036071871723229904927;
  weights(200) = 0.00036071871723229904927;
  weights(201) = 0.0013110639122073867828;
  weights(202) = 0.0013110639122073867828;
  weights(203) = 0.0013110639122073867828;
  weights(204) = 0.0013110639122073867828;
  weights(205) = 0.0013110639122073867828;
  weights(206) = 0.0013110639122073867828;
  weights(207) = 0.00015178980168619111198;
  weights(208) = 0.00015178980168619111198;
  weights(209) = 0.00015178980168619111198;
  weights(210) = 0.00015178980168619111198;
  weights(211) = 0.00015178980168619111198;
  weights(212) = 0.00015178980168619111198;
  weights(213) = 0.0010500435005742030353;
  weights(214) = 0.0010500435005742030353;
  weights(215) = 0.0010500435005742030353;
  weights(216) = 0.0010500435005742030353;
  weights(217) = 0.0010500435005742030353;
  weights(218) = 0.0010500435005742030353;
  weights(219) = 0.003264158472715705632;
  weights(220) = 0.003264158472715705632;
  weights(221) = 0.003264158472715705632;
  weights(222) = 0.00048314930937066541622;
  weights(223) = 0.00048314930937066541622;
  weights(224) = 0.00048314930937066541622;
  weights(225) = 0.00048314930937066541622;
  weights(226) = 0.00048314930937066541622;
  weights(227) = 0.00048314930937066541622;
  weights(228) = 0.0016023361851144860175;
  weights(229) = 0.0016023361851144860175;
  weights(230) = 0.0016023361851144860175;
  weights(231) = 0.0016023361851144860175;
  weights(232) = 0.0016023361851144860175;
  weights(233) = 0.0016023361851144860175;
  weights(234) = 0.00019614752269367073949;
  weights(235) = 0.00019614752269367073949;
  weights(236) = 0.00019614752269367073949;
  weights(237) = 0.00019614752269367073949;
  weights(238) = 0.00019614752269367073949;
  weights(239) = 0.00019614752269367073949;
  weights(240) = 0.0031287906040182397217;
  weights(241) = 0.0031287906040182397217;
  weights(242) = 0.0031287906040182397217;
  weights(243) = 0.0031287906040182397217;
  weights(244) = 0.0031287906040182397217;
  weights(245) = 0.0031287906040182397217;
  weights(246) = 0.0018906202570454584602;
  weights(247) = 0.0018906202570454584602;
  weights(248) = 0.0018906202570454584602;
  weights(249) = 0.0018906202570454584602;
  weights(250) = 0.0018906202570454584602;
  weights(251) = 0.0018906202570454584602;
  weights(252) = 0.0011531809823860795627;
  weights(253) = 0.0011531809823860795627;
  weights(254) = 0.0011531809823860795627;
  weights(255) = 0.0011531809823860795627;
  weights(256) = 0.0011531809823860795627;
  weights(257) = 0.0011531809823860795627;
  weights(258) = 0.00079821516864946886159;
  weights(259) = 0.00079821516864946886159;
  weights(260) = 0.00079821516864946886159;
  weights(261) = 0.00079821516864946886159;
  weights(262) = 0.00079821516864946886159;
  weights(263) = 0.00079821516864946886159;
  weights(264) = 0.0006244180067969696277;
  weights(265) = 0.0006244180067969696277;
  weights(266) = 0.0006244180067969696277;
  weights(267) = 0.0006244180067969696277;
  weights(268) = 0.0006244180067969696277;
  weights(269) = 0.0006244180067969696277;
  weights(270) = 0.0012778142041472658787;
  weights(271) = 0.0012778142041472658787;
  weights(272) = 0.0012778142041472658787;
  weights(273) = 0.0012778142041472658787;
  weights(274) = 0.0012778142041472658787;
  weights(275) = 0.0012778142041472658787;
  weights(276) = 0.0013391424658452744448;
  weights(277) = 0.0013391424658452744448;
  weights(278) = 0.0013391424658452744448;
  weights(279) = 0.0013391424658452744448;
  weights(280) = 0.0013391424658452744448;
  weights(281) = 0.0013391424658452744448;
  weights(282) = 0.00048585485006856092604;
  weights(283) = 0.00048585485006856092604;
  weights(284) = 0.00048585485006856092604;
  weights(285) = 0.00032069500791689296284;
  weights(286) = 0.00032069500791689296284;
  weights(287) = 0.00032069500791689296284;
  weights(288) = 0.00032069500791689296284;
  weights(289) = 0.00032069500791689296284;
  weights(290) = 0.00032069500791689296284;
  weights(291) = 0.00095535867702926664368;
  weights(292) = 0.00095535867702926664368;
  weights(293) = 0.00095535867702926664368;
  weights(294) = 0.00095535867702926664368;
  weights(295) = 0.00095535867702926664368;
  weights(296) = 0.00095535867702926664368;
  weights(297) = 0.0015142824283244876813;
  weights(298) = 0.0015142824283244876813;
  weights(299) = 0.0015142824283244876813;
  weights(300) = 0.0015142824283244876813;
  weights(301) = 0.0015142824283244876813;
  weights(302) = 0.0015142824283244876813;
  weights(303) = 0.0012193489507377076181;
  weights(304) = 0.0012193489507377076181;
  weights(305) = 0.0012193489507377076181;
  weights(306) = 0.00059700973725688305516;
  weights(307) = 0.00059700973725688305516;
  weights(308) = 0.00059700973725688305516;
  weights(309) = 0.00059700973725688305516;
  weights(310) = 0.00059700973725688305516;
  weights(311) = 0.00059700973725688305516;
  weights(312) = 0.0019948930721100494555;
  weights(313) = 0.0019948930721100494555;
  weights(314) = 0.0019948930721100494555;
  weights(315) = 0.0019948930721100494555;
  weights(316) = 0.0019948930721100494555;
  weights(317) = 0.0019948930721100494555;
  weights(318) = 0.0020941020358881930544;
  weights(319) = 0.0020941020358881930544;
  weights(320) = 0.0020941020358881930544;
  weights(321) = 0.0023870799382237615528;
  weights(322) = 0.0023870799382237615528;
  weights(323) = 0.0023870799382237615528;
  weights(324) = 0.0023870799382237615528;
  weights(325) = 0.0023870799382237615528;
  weights(326) = 0.0023870799382237615528;
  weights(327) = 0.00028405064876533040429;
  weights(328) = 0.00028405064876533040429;
  weights(329) = 0.00028405064876533040429;
  weights(330) = 0.00028405064876533040429;
  weights(331) = 0.00028405064876533040429;
  weights(332) = 0.00028405064876533040429;
  weights(333) = 0.00036464489494576621731;
  weights(334) = 0.00036464489494576621731;
  weights(335) = 0.00036464489494576621731;
  weights(336) = 0.00036464489494576621731;
  weights(337) = 0.00036464489494576621731;
  weights(338) = 0.00036464489494576621731;
  weights(339) = 0.0029931371482375471182;
  weights(340) = 0.0029931371482375471182;
  weights(341) = 0.0029931371482375471182;
  weights(342) = 0.0018867400782665308748;
  weights(343) = 0.0018867400782665308748;
  weights(344) = 0.0018867400782665308748;
  weights(345) = 0.0021997780849930203238;
  weights(346) = 0.0021997780849930203238;
  weights(347) = 0.0021997780849930203238;
  weights(348) = 0.0021997780849930203238;
  weights(349) = 0.0021997780849930203238;
  weights(350) = 0.0021997780849930203238;
  weights(351) = 0.0033175235616035771841;
  weights(352) = 0.00033947949928866608246;
  weights(353) = 0.00033947949928866608246;
  weights(354) = 0.00033947949928866608246;
  weights(355) = 0.00033947949928866608246;
  weights(356) = 0.00033947949928866608246;
  weights(357) = 0.00033947949928866608246;
  weights(358) = 0.00026572205670308957212;
  weights(359) = 0.00026572205670308957212;
  weights(360) = 0.00026572205670308957212;
  weights(361) = 0.00026572205670308957212;
  weights(362) = 0.00026572205670308957212;
  weights(363) = 0.00026572205670308957212;
  weights(364) = 0.0032408236272432663222;
  weights(365) = 0.0032408236272432663222;
  weights(366) = 0.0032408236272432663222;
  weights(367) = 0.00032376233170666946426;
  weights(368) = 0.00032376233170666946426;
  weights(369) = 0.00032376233170666946426;
  weights(370) = 0.00032376233170666946426;
  weights(371) = 0.00032376233170666946426;
  weights(372) = 0.00032376233170666946426;
  weights(373) = 0.00022467335514002195903;
  weights(374) = 0.00022467335514002195903;
  weights(375) = 0.00022467335514002195903;
  weights(376) = 0.00013066397300115010203;
  weights(377) = 0.00013066397300115010203;
  weights(378) = 0.00013066397300115010203;
  weights(379) = 0.00013066397300115010203;
  weights(380) = 0.00013066397300115010203;
  weights(381) = 0.00013066397300115010203;
  weights(382) = 7.0476100679752367505e-06;
  weights(383) = 7.0476100679752367505e-06;
  weights(384) = 7.0476100679752367505e-06;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 46);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 47>() { // NOLINT
  Eigen::MatrixXd points(2, 399);
  Eigen::VectorXd weights(399);

  points(0, 0) = 0.34917750415439097189;
  points(1, 0) = 0.30164499169121811173;
  points(0, 1) = 0.34917750415439097189;
  points(1, 1) = 0.3491775041543910274;
  points(0, 2) = 0.30164499169121800071;
  points(1, 2) = 0.34917750415439108291;
  points(0, 3) = 0.013218234774261461081;
  points(1, 3) = 0.0069261081189946789582;
  points(0, 4) = 0.97985565710674393802;
  points(1, 4) = 0.013218234774261412509;
  points(0, 5) = 0.0069261081189948559;
  points(1, 5) = 0.97985565710674393802;
  points(0, 6) = 0.979855657106743827;
  points(1, 6) = 0.0069261081189946789582;
  points(0, 7) = 0.013218234774261594655;
  points(1, 7) = 0.97985565710674393802;
  points(0, 8) = 0.006926108118994417015;
  points(1, 8) = 0.013218234774261861803;
  points(0, 9) = 0.18207414326155921258;
  points(1, 9) = 0.0816358471109855377;
  points(0, 10) = 0.73629000962745516645;
  points(1, 10) = 0.18207414326155926809;
  points(0, 11) = 0.0816358471109855377;
  points(1, 11) = 0.73629000962745549952;
  points(0, 12) = 0.73629000962745527747;
  points(1, 12) = 0.0816358471109855377;
  points(0, 13) = 0.18207414326155918483;
  points(1, 13) = 0.73629000962745549952;
  points(0, 14) = 0.081635847110985301778;
  points(1, 14) = 0.18207414326155949014;
  points(0, 15) = 0.15058092731770136852;
  points(1, 15) = 0.086196365988733078534;
  points(0, 16) = 0.76322270669356551132;
  points(1, 16) = 0.15058092731770139627;
  points(0, 17) = 0.086196365988733147923;
  points(1, 17) = 0.76322270669356573336;
  points(0, 18) = 0.76322270669356562234;
  points(1, 18) = 0.086196365988733078534;
  points(0, 19) = 0.15058092731770145178;
  points(1, 19) = 0.76322270669356573336;
  points(0, 20) = 0.086196365988732828733;
  points(1, 20) = 0.15058092731770164607;
  points(0, 21) = 0.30289654411791433475;
  points(1, 21) = 0.30289654411791450128;
  points(0, 22) = 0.39420691176417116397;
  points(1, 22) = 0.30289654411791444577;
  points(0, 23) = 0.30289654411791433475;
  points(1, 23) = 0.39420691176417127499;
  points(0, 24) = 0.076432982656707490476;
  points(1, 24) = 0.050293180530191418376;
  points(0, 25) = 0.87327383681310111196;
  points(1, 25) = 0.076432982656707462721;
  points(0, 26) = 0.050293180530191439193;
  points(1, 26) = 0.87327383681310133401;
  points(0, 27) = 0.87327383681310111196;
  points(1, 27) = 0.050293180530191418376;
  points(0, 28) = 0.076432982656707559865;
  points(1, 28) = 0.87327383681310133401;
  points(0, 29) = 0.050293180530191231026;
  points(1, 29) = 0.076432982656707809666;
  points(0, 30) = 0.013832616097629308119;
  points(1, 30) = 0.0010488989499174523543;
  points(0, 31) = 0.98511848495245324386;
  points(1, 31) = 0.013832616097629294241;
  points(0, 32) = 0.0010488989499176648579;
  points(1, 32) = 0.98511848495245324386;
  points(0, 33) = 0.98511848495245324386;
  points(1, 33) = 0.0010488989499174523543;
  points(0, 34) = 0.013832616097629424345;
  points(1, 34) = 0.98511848495245324386;
  points(0, 35) = 0.0010488989499172606673;
  points(1, 35) = 0.013832616097629677615;
  points(0, 36) = 0.026745227243076104273;
  points(1, 36) = 0.010020497565352266475;
  points(0, 37) = 0.96323427519157156507;
  points(1, 37) = 0.026745227243076132029;
  points(0, 38) = 0.010020497565352337599;
  points(1, 38) = 0.96323427519157178711;
  points(0, 39) = 0.96323427519157167609;
  points(1, 39) = 0.010020497565352266475;
  points(0, 40) = 0.026745227243076208357;
  points(1, 40) = 0.96323427519157178711;
  points(0, 41) = 0.010020497565351966368;
  points(1, 41) = 0.026745227243076451218;
  points(0, 42) = 0.050531902462301381274;
  points(1, 42) = 0.050531902462301658829;
  points(0, 43) = 0.89893619507539690439;
  points(1, 43) = 0.050531902462301332701;
  points(0, 44) = 0.050531902462301769852;
  points(1, 44) = 0.89893619507539712643;
  points(0, 45) = 0.37119023675251450189;
  points(1, 45) = 0.20367425304517991491;
  points(0, 46) = 0.42513551020230555544;
  points(1, 46) = 0.37119023675251461292;
  points(0, 47) = 0.20367425304517983164;
  points(1, 47) = 0.42513551020230566646;
  points(0, 48) = 0.42513551020230549993;
  points(1, 48) = 0.20367425304517991491;
  points(0, 49) = 0.37119023675251455741;
  points(1, 49) = 0.42513551020230566646;
  points(0, 50) = 0.20367425304517977613;
  points(1, 50) = 0.37119023675251472394;
  points(0, 51) = 0.36889497279211835856;
  points(1, 51) = 0.15932668387393367215;
  points(0, 52) = 0.47177834333394796928;
  points(1, 52) = 0.36889497279211841407;
  points(0, 53) = 0.15932668387393358889;
  points(1, 53) = 0.47177834333394813582;
  points(0, 54) = 0.47177834333394791377;
  points(1, 54) = 0.15932668387393367215;
  points(0, 55) = 0.36889497279211841407;
  points(1, 55) = 0.47177834333394808031;
  points(0, 56) = 0.15932668387393350562;
  points(1, 56) = 0.36889497279211858061;
  points(0, 57) = 0.42150939287870936578;
  points(1, 57) = 0.15698121424258121293;
  points(0, 58) = 0.4215093928787094768;
  points(1, 58) = 0.4215093928787094768;
  points(0, 59) = 0.15698121424258112966;
  points(1, 59) = 0.42150939287870953232;
  points(0, 60) = 0.10707457989311994218;
  points(1, 60) = 0.053368702564695988388;
  points(0, 61) = 0.83955671754218408331;
  points(1, 61) = 0.1070745798931199283;
  points(0, 62) = 0.053368702564696057777;
  points(1, 62) = 0.83955671754218430536;
  points(0, 63) = 0.83955671754218408331;
  points(1, 63) = 0.053368702564695988388;
  points(0, 64) = 0.10707457989311996993;
  points(1, 64) = 0.83955671754218430536;
  points(0, 65) = 0.053368702564695683077;
  points(1, 65) = 0.10707457989312027524;
  points(0, 66) = 0.11521791216736021468;
  points(1, 66) = 0.085296064492316428507;
  points(0, 67) = 0.79948602334032337069;
  points(1, 67) = 0.11521791216736022856;
  points(0, 68) = 0.08529606449231647014;
  points(1, 68) = 0.79948602334032348171;
  points(0, 69) = 0.79948602334032337069;
  points(1, 69) = 0.085296064492316428507;
  points(0, 70) = 0.11521791216736027019;
  points(1, 70) = 0.79948602334032348171;
  points(0, 71) = 0.085296064492316206462;
  points(1, 71) = 0.11521791216736051999;
  points(0, 72) = 0.47462702434295878096;
  points(1, 72) = 0.050745951314082417272;
  points(0, 73) = 0.47462702434295878096;
  points(1, 73) = 0.47462702434295883647;
  points(0, 74) = 0.050745951314082327066;
  points(1, 74) = 0.474627024342959003;
  points(0, 75) = 0.4179628539698995171;
  points(1, 75) = 0.051482297929066805908;
  points(0, 76) = 0.53055484810103381577;
  points(1, 76) = 0.4179628539698995171;
  points(0, 77) = 0.051482297929066778153;
  points(1, 77) = 0.53055484810103392679;
  points(0, 78) = 0.53055484810103370474;
  points(1, 78) = 0.051482297929066805908;
  points(0, 79) = 0.4179628539698995171;
  points(1, 79) = 0.53055484810103381577;
  points(0, 80) = 0.051482297929066722642;
  points(1, 80) = 0.41796285396989973915;
  points(0, 81) = 0.079572842069243837626;
  points(1, 81) = 0.07957284206924412906;
  points(0, 82) = 0.84085431586151204719;
  points(1, 82) = 0.079572842069243851504;
  points(0, 83) = 0.07957284206924425396;
  points(1, 83) = 0.84085431586151215821;
  points(0, 84) = 0.046299259915931867404;
  points(1, 84) = 0.027553631439473539461;
  points(0, 85) = 0.9261471086445945966;
  points(1, 85) = 0.046299259915931825771;
  points(0, 86) = 0.027553631439473702525;
  points(1, 86) = 0.92614710864459470763;
  points(0, 87) = 0.9261471086445945966;
  points(1, 87) = 0.027553631439473539461;
  points(0, 88) = 0.046299259915931978426;
  points(1, 88) = 0.92614710864459470763;
  points(0, 89) = 0.027553631439473254966;
  points(1, 89) = 0.04629925991593220741;
  points(0, 90) = 0.32502993731599943983;
  points(1, 90) = 0.11870202716894084904;
  points(0, 91) = 0.55626803551505965562;
  points(1, 91) = 0.32502993731599949534;
  points(0, 92) = 0.11870202716894084904;
  points(1, 92) = 0.55626803551505987766;
  points(0, 93) = 0.55626803551505976664;
  points(1, 93) = 0.11870202716894084904;
  points(0, 94) = 0.32502993731599943983;
  points(1, 94) = 0.55626803551505987766;
  points(0, 95) = 0.11870202716894073802;
  points(1, 95) = 0.32502993731599960636;
  points(0, 96) = 0.22302145685345378667;
  points(1, 96) = 0.085061577169693036726;
  points(0, 97) = 0.69191696597685314885;
  points(1, 97) = 0.22302145685345381443;
  points(0, 98) = 0.085061577169693036726;
  points(1, 98) = 0.69191696597685337089;
  points(0, 99) = 0.69191696597685314885;
  points(1, 99) = 0.085061577169693036726;
  points(0, 100) = 0.22302145685345381443;
  points(1, 100) = 0.69191696597685325987;
  points(0, 101) = 0.085061577169692897948;
  points(1, 101) = 0.22302145685345403647;
  points(0, 102) = 0.38224008025178313197;
  points(1, 102) = 0.11812750844119240812;
  points(0, 103) = 0.49963241130702451542;
  points(1, 103) = 0.38224008025178313197;
  points(0, 104) = 0.11812750844119238036;
  points(1, 104) = 0.49963241130702468196;
  points(0, 105) = 0.49963241130702451542;
  points(1, 105) = 0.11812750844119240812;
  points(0, 106) = 0.38224008025178307646;
  points(1, 106) = 0.49963241130702462645;
  points(0, 107) = 0.11812750844119226934;
  points(1, 107) = 0.3822400802517832985;
  points(0, 108) = 0.31868101680405747089;
  points(1, 108) = 0.25270835065274166453;
  points(0, 109) = 0.42861063254320080906;
  points(1, 109) = 0.31868101680405758191;
  points(0, 110) = 0.25270835065274155351;
  points(1, 110) = 0.42861063254320103111;
  points(0, 111) = 0.42861063254320086457;
  points(1, 111) = 0.25270835065274166453;
  points(0, 112) = 0.31868101680405747089;
  points(1, 112) = 0.42861063254320103111;
  points(0, 113) = 0.25270835065274155351;
  points(1, 113) = 0.31868101680405763743;
  points(0, 114) = 0.31610242919729197864;
  points(1, 114) = 0.20574594120817160658;
  points(0, 115) = 0.47815162959453638702;
  points(1, 115) = 0.31610242919729203415;
  points(0, 116) = 0.20574594120817152332;
  points(1, 116) = 0.47815162959453660907;
  points(0, 117) = 0.47815162959453644254;
  points(1, 117) = 0.20574594120817160658;
  points(0, 118) = 0.31610242919729203415;
  points(1, 118) = 0.47815162959453649805;
  points(0, 119) = 0.20574594120817152332;
  points(1, 119) = 0.31610242919729214517;
  points(0, 120) = 0.023680229143040253809;
  points(1, 120) = 0.02368022914304055565;
  points(0, 121) = 0.95263954171391906911;
  points(1, 121) = 0.023680229143040232992;
  points(0, 122) = 0.023680229143040631978;
  points(1, 122) = 0.95263954171391940218;
  points(0, 123) = 0.20171436026250166851;
  points(1, 123) = 0.028645737105414948581;
  points(0, 124) = 0.76963990263208348352;
  points(1, 124) = 0.20171436026250166851;
  points(0, 125) = 0.028645737105415014501;
  points(1, 125) = 0.76963990263208359455;
  points(0, 126) = 0.7696399026320833725;
  points(1, 126) = 0.028645737105414948581;
  points(0, 127) = 0.20171436026250183504;
  points(1, 127) = 0.7696399026320833725;
  points(0, 128) = 0.028645737105414806334;
  points(1, 128) = 0.20171436026250197382;
  points(0, 129) = 0.30409537445729684091;
  points(1, 129) = 0.028700825091621834373;
  points(0, 130) = 0.66720380045108129696;
  points(1, 130) = 0.30409537445729695193;
  points(0, 131) = 0.028700825091621806617;
  points(1, 131) = 0.66720380045108151901;
  points(0, 132) = 0.66720380045108129696;
  points(1, 132) = 0.028700825091621834373;
  points(0, 133) = 0.30409537445729700744;
  points(1, 133) = 0.66720380045108129696;
  points(0, 134) = 0.028700825091621667839;
  points(1, 134) = 0.30409537445729722949;
  points(0, 135) = 0.2509406000944529036;
  points(1, 135) = 0.029082235848793533406;
  points(0, 136) = 0.7199771640567534936;
  points(1, 136) = 0.25094060009445295911;
  points(0, 137) = 0.029082235848793658306;
  points(1, 137) = 0.71997716405675360463;
  points(0, 138) = 0.71997716405675360463;
  points(1, 138) = 0.029082235848793533406;
  points(0, 139) = 0.25094060009445295911;
  points(1, 139) = 0.71997716405675360463;
  points(0, 140) = 0.029082235848793325239;
  points(1, 140) = 0.25094060009445318116;
  points(0, 141) = 0.2701136854877469462;
  points(1, 141) = 0.12174223594066051202;
  points(0, 142) = 0.60814407857159258342;
  points(1, 142) = 0.2701136854877469462;
  points(0, 143) = 0.12174223594066047038;
  points(1, 143) = 0.60814407857159280546;
  points(0, 144) = 0.60814407857159258342;
  points(1, 144) = 0.12174223594066051202;
  points(0, 145) = 0.27011368548774700171;
  points(1, 145) = 0.60814407857159269444;
  points(0, 146) = 0.12174223594066030385;
  points(1, 146) = 0.27011368548774716825;
  points(0, 147) = 0.42300788677184292252;
  points(1, 147) = 0.027946918436998514912;
  points(0, 148) = 0.54904519479115865277;
  points(1, 148) = 0.42300788677184297804;
  points(0, 149) = 0.027946918436998480217;
  points(1, 149) = 0.54904519479115876379;
  points(0, 150) = 0.54904519479115865277;
  points(1, 150) = 0.027946918436998514912;
  points(0, 151) = 0.42300788677184292252;
  points(1, 151) = 0.54904519479115865277;
  points(0, 152) = 0.027946918436998396951;
  points(1, 152) = 0.42300788677184314457;
  points(0, 153) = 0.21883810840826198318;
  points(1, 153) = 0.12214006675837246751;
  points(0, 154) = 0.65902182483336557706;
  points(1, 154) = 0.2188381084082620387;
  points(0, 155) = 0.12214006675837246751;
  points(1, 155) = 0.65902182483336568808;
  points(0, 156) = 0.65902182483336546603;
  points(1, 156) = 0.12214006675837246751;
  points(0, 157) = 0.21883810840826201094;
  points(1, 157) = 0.65902182483336568808;
  points(0, 158) = 0.12214006675837224547;
  points(1, 158) = 0.21883810840826223298;
  points(0, 159) = 0.26305643577037218783;
  points(1, 159) = 0.26305643577037246539;
  points(0, 160) = 0.47388712845925529127;
  points(1, 160) = 0.26305643577037235437;
  points(0, 161) = 0.26305643577037240988;
  points(1, 161) = 0.4738871284592554578;
  points(0, 162) = 0.31555828243015626722;
  points(1, 162) = 0.16041298509102469572;
  points(0, 163) = 0.52402873247881909258;
  points(1, 163) = 0.31555828243015632273;
  points(0, 164) = 0.16041298509102464021;
  points(1, 164) = 0.5240287324788192036;
  points(0, 165) = 0.52402873247881898155;
  points(1, 165) = 0.16041298509102469572;
  points(0, 166) = 0.31555828243015621171;
  points(1, 166) = 0.5240287324788192036;
  points(0, 167) = 0.16041298509102452918;
  points(1, 167) = 0.31555828243015648926;
  points(0, 168) = 0.35999420507678669967;
  points(1, 168) = 0.052038405103005579144;
  points(0, 169) = 0.58796738982020768649;
  points(1, 169) = 0.35999420507678681069;
  points(0, 170) = 0.052038405103005558328;
  points(1, 170) = 0.58796738982020790854;
  points(0, 171) = 0.58796738982020768649;
  points(1, 171) = 0.052038405103005579144;
  points(0, 172) = 0.35999420507678675518;
  points(1, 172) = 0.58796738982020768649;
  points(0, 173) = 0.052038405103005475061;
  points(1, 173) = 0.35999420507678697723;
  points(0, 174) = 0.076149280562709670273;
  points(1, 174) = 0.028008097326434788082;
  points(0, 175) = 0.89584262211085541328;
  points(1, 175) = 0.076149280562709656395;
  points(0, 176) = 0.028008097326434888696;
  points(1, 176) = 0.89584262211085563532;
  points(0, 177) = 0.8958426221108555243;
  points(1, 177) = 0.028008097326434788082;
  points(0, 178) = 0.07614928056270980905;
  points(1, 178) = 0.89584262211085563532;
  points(0, 179) = 0.028008097326434590324;
  points(1, 179) = 0.076149280562710017217;
  points(0, 180) = 0.36168712504285649434;
  points(1, 180) = 0.02836419929325302916;
  points(0, 181) = 0.60994867566389043834;
  points(1, 181) = 0.36168712504285654985;
  points(0, 182) = 0.028364199293253011813;
  points(1, 182) = 0.60994867566389066038;
  points(0, 183) = 0.60994867566389043834;
  points(1, 183) = 0.02836419929325302916;
  points(0, 184) = 0.36168712504285643883;
  points(1, 184) = 0.60994867566389066038;
  points(0, 185) = 0.02836419929325284528;
  points(1, 185) = 0.36168712504285682741;
  points(0, 186) = 0.44206939726383054357;
  points(1, 186) = 0.11586120547233889899;
  points(0, 187) = 0.44206939726383059908;
  points(1, 187) = 0.44206939726383065459;
  points(0, 188) = 0.11586120547233880185;
  points(1, 188) = 0.44206939726383076561;
  points(0, 189) = 0.48616010748368976291;
  points(1, 189) = 0.027679785032620463775;
  points(0, 190) = 0.48616010748368976291;
  points(1, 190) = 0.48616010748368981842;
  points(0, 191) = 0.027679785032620390917;
  points(1, 191) = 0.48616010748369004046;
  points(0, 192) = 0.39695704297947909112;
  points(1, 192) = 0.081814955021604504615;
  points(0, 193) = 0.52122800199891639039;
  points(1, 193) = 0.39695704297947920214;
  points(0, 194) = 0.081814955021604462981;
  points(1, 194) = 0.52122800199891650141;
  points(0, 195) = 0.52122800199891639039;
  points(1, 195) = 0.081814955021604504615;
  points(0, 196) = 0.39695704297947914663;
  points(1, 196) = 0.52122800199891650141;
  points(0, 197) = 0.08181495502160440747;
  points(1, 197) = 0.39695704297947931316;
  points(0, 198) = 0.26358210465038572901;
  points(1, 198) = 0.21213389631656121015;
  points(0, 199) = 0.52428399903305300533;
  points(1, 199) = 0.26358210465038584003;
  points(0, 200) = 0.21213389631656109913;
  points(1, 200) = 0.52428399903305322738;
  points(0, 201) = 0.52428399903305300533;
  points(1, 201) = 0.21213389631656121015;
  points(0, 202) = 0.26358210465038578452;
  points(1, 202) = 0.52428399903305322738;
  points(0, 203) = 0.21213389631656104362;
  points(1, 203) = 0.26358210465038600656;
  points(0, 204) = 0.19253505421227115613;
  points(1, 204) = 0.052445204222916270986;
  points(0, 205) = 0.75501974156481255207;
  points(1, 205) = 0.19253505421227115613;
  points(0, 206) = 0.052445204222916319559;
  points(1, 206) = 0.75501974156481277412;
  points(0, 207) = 0.75501974156481266309;
  points(1, 207) = 0.052445204222916270986;
  points(0, 208) = 0.19253505421227112837;
  points(1, 208) = 0.75501974156481277412;
  points(0, 209) = 0.052445204222916111392;
  points(1, 209) = 0.19253505421227143368;
  points(0, 210) = 0.15505379800193291873;
  points(1, 210) = 0.029177676432732613243;
  points(0, 211) = 0.81576852556533452354;
  points(1, 211) = 0.15505379800193294648;
  points(0, 212) = 0.029177676432732668754;
  points(1, 212) = 0.81576852556533463456;
  points(0, 213) = 0.81576852556533441252;
  points(1, 213) = 0.029177676432732613243;
  points(0, 214) = 0.15505379800193297424;
  points(1, 214) = 0.81576852556533463456;
  points(0, 215) = 0.029177676432732405076;
  points(1, 215) = 0.15505379800193327955;
  points(0, 216) = 0.080813918367061005066;
  points(1, 216) = 0.011675295489491484269;
  points(0, 217) = 0.90751078614344760087;
  points(1, 217) = 0.080813918367060963432;
  points(0, 218) = 0.011675295489491588352;
  points(1, 218) = 0.90751078614344771189;
  points(0, 219) = 0.90751078614344748985;
  points(1, 219) = 0.011675295489491484269;
  points(0, 220) = 0.08081391836706097731;
  points(1, 220) = 0.90751078614344771189;
  points(0, 221) = 0.011675295489491248346;
  points(1, 221) = 0.080813918367061324255;
  points(0, 222) = 0.16214612252245030888;
  points(1, 222) = 0.16214612252245050317;
  points(0, 223) = 0.6757077549550991602;
  points(1, 223) = 0.16214612252245039214;
  points(0, 224) = 0.16214612252245058643;
  points(1, 224) = 0.67570775495509927122;
  points(0, 225) = 0.049490300569582770795;
  points(1, 225) = 0.011352955184895631435;
  points(0, 226) = 0.93915674424552153532;
  points(1, 226) = 0.049490300569582729162;
  points(0, 227) = 0.011352955184895763274;
  points(1, 227) = 0.93915674424552175736;
  points(0, 228) = 0.93915674424552153532;
  points(1, 228) = 0.011352955184895631435;
  points(0, 229) = 0.049490300569582812429;
  points(1, 229) = 0.93915674424552175736;
  points(0, 230) = 0.01135295518489535041;
  points(1, 230) = 0.049490300569583083046;
  points(0, 231) = 0.37369118180518201555;
  points(1, 231) = 0.2526176363896359689;
  points(0, 232) = 0.37369118180518196004;
  points(1, 232) = 0.37369118180518212657;
  points(0, 233) = 0.25261763638963591339;
  points(1, 233) = 0.37369118180518212657;
  points(0, 234) = 0.30136611917506084257;
  points(1, 234) = 0.052741208654800524058;
  points(0, 235) = 0.64589267217013879296;
  points(1, 235) = 0.30136611917506084257;
  points(0, 236) = 0.052741208654800475486;
  points(1, 236) = 0.64589267217013890399;
  points(0, 237) = 0.64589267217013868194;
  points(1, 237) = 0.052741208654800524058;
  points(0, 238) = 0.30136611917506084257;
  points(1, 238) = 0.64589267217013879296;
  points(0, 239) = 0.052741208654800336708;
  points(1, 239) = 0.30136611917506112013;
  points(0, 240) = 0.21255126890481373936;
  points(1, 240) = 0.21255126890481393365;
  points(0, 241) = 0.57489746219037241026;
  points(1, 241) = 0.21255126890481379487;
  points(0, 242) = 0.21255126890481385038;
  points(1, 242) = 0.57489746219037252128;
  points(0, 243) = 0.14555909412430637073;
  points(1, 243) = 0.053936384497133817162;
  points(0, 244) = 0.80050452137855976353;
  points(1, 244) = 0.14555909412430639849;
  points(0, 245) = 0.05393638449713389349;
  points(1, 245) = 0.80050452137855998558;
  points(0, 246) = 0.80050452137855976353;
  points(1, 246) = 0.053936384497133817162;
  points(0, 247) = 0.145559094124306454;
  points(1, 247) = 0.80050452137855998558;
  points(0, 248) = 0.053936384497133588178;
  points(1, 248) = 0.14555909412430673155;
  points(0, 249) = 0.033923931145958402533;
  points(1, 249) = 0.0020268965838006725542;
  points(0, 250) = 0.96404917227024089499;
  points(1, 250) = 0.033923931145958326205;
  points(0, 251) = 0.0020268965838008967673;
  points(1, 251) = 0.96404917227024100601;
  points(0, 252) = 0.96404917227024100601;
  points(1, 252) = 0.0020268965838006725542;
  points(0, 253) = 0.033923931145958541311;
  points(1, 253) = 0.96404917227024100601;
  points(0, 254) = 0.0020268965838003659419;
  points(1, 254) = 0.033923931145958770295;
  points(0, 255) = 0.45983217414950111612;
  points(1, 255) = 0.080335651700997767755;
  points(0, 256) = 0.45983217414950106061;
  points(1, 256) = 0.45983217414950122715;
  points(0, 257) = 0.080335651700997684488;
  points(1, 257) = 0.45983217414950133817;
  points(0, 258) = 0.46092039829835212972;
  points(1, 258) = 0.011374113978750863274;
  points(0, 259) = 0.52770548772289704864;
  points(1, 259) = 0.46092039829835218523;
  points(0, 260) = 0.01137411397875076613;
  points(1, 260) = 0.52770548772289727069;
  points(0, 261) = 0.52770548772289693762;
  points(1, 261) = 0.011374113978750863274;
  points(0, 262) = 0.46092039829835218523;
  points(1, 262) = 0.52770548772289704864;
  points(0, 263) = 0.011374113978750793885;
  points(1, 263) = 0.46092039829835235176;
  points(0, 264) = 0.20965063699274261166;
  points(1, 264) = 0.16471973579805906929;
  points(0, 265) = 0.6256296272091983468;
  points(1, 265) = 0.20965063699274263942;
  points(0, 266) = 0.16471973579805904153;
  points(1, 266) = 0.62562962720919845783;
  points(0, 267) = 0.6256296272091983468;
  points(1, 267) = 0.16471973579805906929;
  points(0, 268) = 0.20965063699274261166;
  points(1, 268) = 0.62562962720919845783;
  points(0, 269) = 0.16471973579805890275;
  points(1, 269) = 0.20965063699274283371;
  points(0, 270) = 0.33561883072763631919;
  points(1, 270) = 0.082485282777811613775;
  points(0, 271) = 0.58189588649455203928;
  points(1, 271) = 0.33561883072763643021;
  points(0, 272) = 0.082485282777811530508;
  points(1, 272) = 0.58189588649455226133;
  points(0, 273) = 0.58189588649455203928;
  points(1, 273) = 0.082485282777811613775;
  points(0, 274) = 0.33561883072763631919;
  points(1, 274) = 0.58189588649455226133;
  points(0, 275) = 0.082485282777811447241;
  points(1, 275) = 0.33561883072763659674;
  points(0, 276) = 0.11919835609480262939;
  points(1, 276) = 0.011866025809438376232;
  points(0, 277) = 0.86893561809575892152;
  points(1, 277) = 0.11919835609480262939;
  points(0, 278) = 0.011866025809438518479;
  points(1, 278) = 0.86893561809575903254;
  points(0, 279) = 0.86893561809575903254;
  points(1, 279) = 0.011866025809438376232;
  points(0, 280) = 0.11919835609480278205;
  points(1, 280) = 0.86893561809575903254;
  points(0, 281) = 0.011866025809438143779;
  points(1, 281) = 0.11919835609480297633;
  points(0, 282) = 0.11275174271758889311;
  points(1, 282) = 0.028988580123217970452;
  points(0, 283) = 0.85825967715919315726;
  points(1, 283) = 0.11275174271758889311;
  points(0, 284) = 0.028988580123217977391;
  points(1, 284) = 0.8582596771591933793;
  points(0, 285) = 0.85825967715919315726;
  points(1, 285) = 0.028988580123217970452;
  points(0, 286) = 0.11275174271758886535;
  points(1, 286) = 0.8582596771591933793;
  points(0, 287) = 0.028988580123217706774;
  points(1, 287) = 0.11275174271758924005;
  points(0, 288) = 0.24460448499371048592;
  points(1, 288) = 0.053609251970668382603;
  points(0, 289) = 0.70178626303562108291;
  points(1, 289) = 0.24460448499371051367;
  points(0, 290) = 0.05360925197066840342;
  points(1, 290) = 0.70178626303562130495;
  points(0, 291) = 0.70178626303562119393;
  points(1, 291) = 0.053609251970668382603;
  points(0, 292) = 0.24460448499371051367;
  points(1, 292) = 0.70178626303562119393;
  points(0, 293) = 0.053609251970668223009;
  points(1, 293) = 0.24460448499371081899;
  points(0, 294) = 0.26132789521301541535;
  points(1, 294) = 0.1649672925863881201;
  points(0, 295) = 0.57370481220059654781;
  points(1, 295) = 0.26132789521301547087;
  points(0, 296) = 0.16496729258638814786;
  points(1, 296) = 0.57370481220059654781;
  points(0, 297) = 0.57370481220059643679;
  points(1, 297) = 0.1649672925863881201;
  points(0, 298) = 0.26132789521301547087;
  points(1, 298) = 0.57370481220059654781;
  points(0, 299) = 0.16496729258638798132;
  points(1, 299) = 0.26132789521301558189;
  points(0, 300) = 0.27671022235884701335;
  points(1, 300) = 0.084133458635388014279;
  points(0, 301) = 0.63915631900576486135;
  points(1, 301) = 0.27671022235884706886;
  points(0, 302) = 0.084133458635388014279;
  points(1, 302) = 0.6391563190057650834;
  points(0, 303) = 0.63915631900576497237;
  points(1, 303) = 0.084133458635388014279;
  points(0, 304) = 0.27671022235884706886;
  points(1, 304) = 0.6391563190057650834;
  points(0, 305) = 0.08413345863538781999;
  points(1, 305) = 0.2767102223588472909;
  points(0, 306) = 0.33105769830551395883;
  points(1, 306) = 0.011718140785265037176;
  points(0, 307) = 0.65722416090922097798;
  points(1, 307) = 0.33105769830551401434;
  points(0, 308) = 0.011718140785265063197;
  points(1, 308) = 0.65722416090922120002;
  points(0, 309) = 0.65722416090922097798;
  points(1, 309) = 0.011718140785265037176;
  points(0, 310) = 0.33105769830551401434;
  points(1, 310) = 0.657224160909221089;
  points(0, 311) = 0.011718140785264868908;
  points(1, 311) = 0.33105769830551418087;
  points(0, 312) = 0.17116596035352299454;
  points(1, 312) = 0.11982515927538527067;
  points(0, 313) = 0.7090088803710916654;
  points(1, 313) = 0.17116596035352305005;
  points(0, 314) = 0.11982515927538534006;
  points(1, 314) = 0.70900888037109177642;
  points(0, 315) = 0.70900888037109177642;
  points(1, 315) = 0.11982515927538527067;
  points(0, 316) = 0.17116596035352310556;
  points(1, 316) = 0.70900888037109177642;
  points(0, 317) = 0.11982515927538506251;
  points(1, 317) = 0.1711659603535232721;
  points(0, 318) = 0.21483809354041563666;
  points(1, 318) = 0.011808474050901169791;
  points(0, 319) = 0.77335343240868315018;
  points(1, 319) = 0.21483809354041563666;
  points(0, 320) = 0.011808474050901185404;
  points(1, 320) = 0.77335343240868337222;
  points(0, 321) = 0.77335343240868315018;
  points(1, 321) = 0.011808474050901169791;
  points(0, 322) = 0.21483809354041571993;
  points(1, 322) = 0.7733534324086832612;
  points(0, 323) = 0.011808474050900963359;
  points(1, 323) = 0.21483809354041594197;
  points(0, 324) = 0.16403259578823725651;
  points(1, 324) = 0.011898235715954025293;
  points(0, 325) = 0.82406916849580869044;
  points(1, 325) = 0.16403259578823728426;
  points(0, 326) = 0.011898235715954164071;
  points(1, 326) = 0.82406916849580880147;
  points(0, 327) = 0.82406916849580869044;
  points(1, 327) = 0.011898235715954025293;
  points(0, 328) = 0.16403259578823736753;
  points(1, 328) = 0.82406916849580880147;
  points(0, 329) = 0.011898235715953775493;
  points(1, 329) = 0.16403259578823758957;
  points(0, 330) = 0.27059952051927443906;
  points(1, 330) = 0.011847600207996014307;
  points(0, 331) = 0.71755287927272948245;
  points(1, 331) = 0.27059952051927449457;
  points(0, 332) = 0.011847600207996078492;
  points(1, 332) = 0.7175528792727297045;
  points(0, 333) = 0.71755287927272959347;
  points(1, 333) = 0.011847600207996014307;
  points(0, 334) = 0.27059952051927449457;
  points(1, 334) = 0.7175528792727297045;
  points(0, 335) = 0.011847600207995828692;
  points(1, 335) = 0.27059952051927477212;
  points(0, 336) = 0.39488152990542124687;
  points(1, 336) = 0.011529446727000037046;
  points(0, 337) = 0.59358902336757868312;
  points(1, 337) = 0.39488152990542130238;
  points(0, 338) = 0.011529446727000014494;
  points(1, 338) = 0.59358902336757890517;
  points(0, 339) = 0.59358902336757879414;
  points(1, 339) = 0.011529446727000037046;
  points(0, 340) = 0.39488152990542130238;
  points(1, 340) = 0.59358902336757879414;
  points(0, 341) = 0.011529446726999875716;
  points(1, 341) = 0.39488152990542152443;
  points(0, 342) = 0.4989185291486734064;
  points(1, 342) = 0.0021629417026531555339;
  points(0, 343) = 0.4989185291486734064;
  points(1, 343) = 0.49891852914867351743;
  points(0, 344) = 0.0021629417026531316814;
  points(1, 344) = 0.49891852914867362845;
  points(0, 345) = 0.097680144060963008945;
  points(1, 345) = 0.0022497058285754815109;
  points(0, 346) = 0.90007015011046154207;
  points(1, 346) = 0.09768014406096298119;
  points(0, 347) = 0.0022497058285755877627;
  points(1, 347) = 0.90007015011046165309;
  points(0, 348) = 0.90007015011046154207;
  points(1, 348) = 0.0022497058285754815109;
  points(0, 349) = 0.097680144060963092212;
  points(1, 349) = 0.90007015011046165309;
  points(0, 350) = 0.0022497058285752269402;
  points(1, 350) = 0.097680144060963314256;
  points(0, 351) = 0.4316631884764960958;
  points(1, 351) = 0.0021780831191386446251;
  points(0, 352) = 0.56615872840436520796;
  points(1, 352) = 0.43166318847649620682;
  points(0, 353) = 0.002178083119138640722;
  points(1, 353) = 0.56615872840436543001;
  points(0, 354) = 0.56615872840436520796;
  points(1, 354) = 0.0021780831191386446251;
  points(0, 355) = 0.43166318847649615131;
  points(1, 355) = 0.56615872840436531899;
  points(0, 356) = 0.0021780831191385574552;
  points(1, 356) = 0.43166318847649637336;
  points(0, 357) = 0.14032386057258028345;
  points(1, 357) = 0.0022594310974726021513;
  points(0, 358) = 0.85741670832994709706;
  points(1, 358) = 0.1403238605725803112;
  points(0, 359) = 0.0022594310974726194985;
  points(1, 359) = 0.8574167083299473191;
  points(0, 360) = 0.85741670832994709706;
  points(1, 360) = 0.0022594310974726021513;
  points(0, 361) = 0.14032386057258028345;
  points(1, 361) = 0.8574167083299473191;
  points(0, 362) = 0.0022594310974723835761;
  points(1, 362) = 0.14032386057258064427;
  points(0, 363) = 0.12497450674891129319;
  points(1, 363) = 0.12497450674891155686;
  points(0, 364) = 0.75005098650217716383;
  points(1, 364) = 0.12497450674891130706;
  points(0, 365) = 0.12497450674891164013;
  points(1, 365) = 0.75005098650217716383;
  points(0, 366) = 0.24379690010750168505;
  points(1, 366) = 0.0022489510449105816654;
  points(0, 367) = 0.7539541488475877129;
  points(1, 367) = 0.24379690010750168505;
  points(0, 368) = 0.002248951044910629804;
  points(1, 368) = 0.75395414884758793495;
  points(0, 369) = 0.7539541488475877129;
  points(1, 369) = 0.0022489510449105816654;
  points(0, 370) = 0.24379690010750176832;
  points(1, 370) = 0.75395414884758782392;
  points(0, 371) = 0.0022489510449104077594;
  points(1, 371) = 0.24379690010750199036;
  points(0, 372) = 0.061993993437915215217;
  points(1, 372) = 0.0022107829440679788516;
  points(0, 373) = 0.93579522361801670272;
  points(1, 373) = 0.061993993437915180522;
  points(0, 374) = 0.0022107829440680681898;
  points(1, 374) = 0.93579522361801703578;
  points(0, 375) = 0.93579522361801670272;
  points(1, 375) = 0.0022107829440679788516;
  points(0, 376) = 0.061993993437915284606;
  points(1, 376) = 0.93579522361801703578;
  points(0, 377) = 0.0022107829440677108368;
  points(1, 377) = 0.061993993437915499711;
  points(0, 378) = 0.30295049284199043749;
  points(1, 378) = 0.0022499314295439339952;
  points(0, 379) = 0.69479957572846573477;
  points(1, 379) = 0.30295049284199043749;
  points(0, 380) = 0.0022499314295439942768;
  points(1, 380) = 0.69479957572846573477;
  points(0, 381) = 0.69479957572846562375;
  points(1, 381) = 0.0022499314295439339952;
  points(0, 382) = 0.302950492841990493;
  points(1, 382) = 0.69479957572846573477;
  points(0, 383) = 0.0022499314295437722322;
  points(1, 383) = 0.30295049284199071504;
  points(0, 384) = 0.18926610050291028942;
  points(1, 384) = 0.0022640392620408228766;
  points(0, 385) = 0.80846986023504885388;
  points(1, 385) = 0.18926610050291028942;
  points(0, 386) = 0.0022640392620409399704;
  points(1, 386) = 0.8084698602350489649;
  points(0, 387) = 0.8084698602350489649;
  points(1, 387) = 0.0022640392620408228766;
  points(0, 388) = 0.18926610050291042819;
  points(1, 388) = 0.8084698602350489649;
  points(0, 389) = 0.0022640392620405930257;
  points(1, 389) = 0.18926610050291062248;
  points(0, 390) = 0.36591902793680908257;
  points(1, 390) = 0.0022135119210076217681;
  points(0, 391) = 0.63186746014218320155;
  points(1, 391) = 0.36591902793680908257;
  points(0, 392) = 0.0022135119210076048546;
  points(1, 392) = 0.63186746014218353462;
  points(0, 393) = 0.63186746014218331258;
  points(1, 393) = 0.0022135119210076217681;
  points(0, 394) = 0.36591902793680913808;
  points(1, 394) = 0.63186746014218331258;
  points(0, 395) = 0.0022135119210074660767;
  points(1, 395) = 0.36591902793680936012;
  points(0, 396) = 0.0026050966947360060244;
  points(1, 396) = 0.0026050966947363256472;
  points(0, 397) = 0.99478980661052762713;
  points(1, 397) = 0.002605096694736005157;
  points(0, 398) = 0.0026050966947365195026;
  points(1, 398) = 0.99478980661052762713;

  weights(0) = 0.0021573284791667592455;
  weights(1) = 0.0021573284791667592455;
  weights(2) = 0.0021573284791667592455;
  weights(3) = 0.00010639100326247250483;
  weights(4) = 0.00010639100326247250483;
  weights(5) = 0.00010639100326247250483;
  weights(6) = 0.00010639100326247250483;
  weights(7) = 0.00010639100326247250483;
  weights(8) = 0.00010639100326247250483;
  weights(9) = 0.0011257413724643054731;
  weights(10) = 0.0011257413724643054731;
  weights(11) = 0.0011257413724643054731;
  weights(12) = 0.0011257413724643054731;
  weights(13) = 0.0011257413724643054731;
  weights(14) = 0.0011257413724643054731;
  weights(15) = 0.0011325350577440164348;
  weights(16) = 0.0011325350577440164348;
  weights(17) = 0.0011325350577440164348;
  weights(18) = 0.0011325350577440164348;
  weights(19) = 0.0011325350577440164348;
  weights(20) = 0.0011325350577440164348;
  weights(21) = 0.0023495856156259520807;
  weights(22) = 0.0023495856156259520807;
  weights(23) = 0.0023495856156259520807;
  weights(24) = 0.0007013647873401223547;
  weights(25) = 0.0007013647873401223547;
  weights(26) = 0.0007013647873401223547;
  weights(27) = 0.0007013647873401223547;
  weights(28) = 0.0007013647873401223547;
  weights(29) = 0.0007013647873401223547;
  weights(30) = 4.8904958406329895892e-05;
  weights(31) = 4.8904958406329895892e-05;
  weights(32) = 4.8904958406329895892e-05;
  weights(33) = 4.8904958406329895892e-05;
  weights(34) = 4.8904958406329895892e-05;
  weights(35) = 4.8904958406329895892e-05;
  weights(36) = 0.00020193149340174640924;
  weights(37) = 0.00020193149340174640924;
  weights(38) = 0.00020193149340174640924;
  weights(39) = 0.00020193149340174640924;
  weights(40) = 0.00020193149340174640924;
  weights(41) = 0.00020193149340174640924;
  weights(42) = 0.00061824620485267283224;
  weights(43) = 0.00061824620485267283224;
  weights(44) = 0.00061824620485267283224;
  weights(45) = 0.002576827660306536729;
  weights(46) = 0.002576827660306536729;
  weights(47) = 0.002576827660306536729;
  weights(48) = 0.002576827660306536729;
  weights(49) = 0.002576827660306536729;
  weights(50) = 0.002576827660306536729;
  weights(51) = 0.0022547355281919661922;
  weights(52) = 0.0022547355281919661922;
  weights(53) = 0.0022547355281919661922;
  weights(54) = 0.0022547355281919661922;
  weights(55) = 0.0022547355281919661922;
  weights(56) = 0.0022547355281919661922;
  weights(57) = 0.0022579986890965504306;
  weights(58) = 0.0022579986890965504306;
  weights(59) = 0.0022579986890965504306;
  weights(60) = 0.00095729448360301107063;
  weights(61) = 0.00095729448360301107063;
  weights(62) = 0.00095729448360301107063;
  weights(63) = 0.00095729448360301107063;
  weights(64) = 0.00095729448360301107063;
  weights(65) = 0.00095729448360301107063;
  weights(66) = 0.0013031325914996505066;
  weights(67) = 0.0013031325914996505066;
  weights(68) = 0.0013031325914996505066;
  weights(69) = 0.0013031325914996505066;
  weights(70) = 0.0013031325914996505066;
  weights(71) = 0.0013031325914996505066;
  weights(72) = 0.0014722405331371289389;
  weights(73) = 0.0014722405331371289389;
  weights(74) = 0.0014722405331371289389;
  weights(75) = 0.0015380786371433224913;
  weights(76) = 0.0015380786371433224913;
  weights(77) = 0.0015380786371433224913;
  weights(78) = 0.0015380786371433224913;
  weights(79) = 0.0015380786371433224913;
  weights(80) = 0.0015380786371433224913;
  weights(81) = 0.0010415012431973648226;
  weights(82) = 0.0010415012431973648226;
  weights(83) = 0.0010415012431973648226;
  weights(84) = 0.00051640615625594510178;
  weights(85) = 0.00051640615625594510178;
  weights(86) = 0.00051640615625594510178;
  weights(87) = 0.00051640615625594510178;
  weights(88) = 0.00051640615625594510178;
  weights(89) = 0.00051640615625594510178;
  weights(90) = 0.0021771806152064221776;
  weights(91) = 0.0021771806152064221776;
  weights(92) = 0.0021771806152064221776;
  weights(93) = 0.0021771806152064221776;
  weights(94) = 0.0021771806152064221776;
  weights(95) = 0.0021771806152064221776;
  weights(96) = 0.0016960439589115200096;
  weights(97) = 0.0016960439589115200096;
  weights(98) = 0.0016960439589115200096;
  weights(99) = 0.0016960439589115200096;
  weights(100) = 0.0016960439589115200096;
  weights(101) = 0.0016960439589115200096;
  weights(102) = 0.0022665783523017624113;
  weights(103) = 0.0022665783523017624113;
  weights(104) = 0.0022665783523017624113;
  weights(105) = 0.0022665783523017624113;
  weights(106) = 0.0022665783523017624113;
  weights(107) = 0.0022665783523017624113;
  weights(108) = 0.0026848596537823368052;
  weights(109) = 0.0026848596537823368052;
  weights(110) = 0.0026848596537823368052;
  weights(111) = 0.0026848596537823368052;
  weights(112) = 0.0026848596537823368052;
  weights(113) = 0.0026848596537823368052;
  weights(114) = 0.002505625945133834083;
  weights(115) = 0.002505625945133834083;
  weights(116) = 0.002505625945133834083;
  weights(117) = 0.002505625945133834083;
  weights(118) = 0.002505625945133834083;
  weights(119) = 0.002505625945133834083;
  weights(120) = 0.00033150393163338699992;
  weights(121) = 0.00033150393163338699992;
  weights(122) = 0.00033150393163338699992;
  weights(123) = 0.00097669713739443730222;
  weights(124) = 0.00097669713739443730222;
  weights(125) = 0.00097669713739443730222;
  weights(126) = 0.00097669713739443730222;
  weights(127) = 0.00097669713739443730222;
  weights(128) = 0.00097669713739443730222;
  weights(129) = 0.0011350766457997049988;
  weights(130) = 0.0011350766457997049988;
  weights(131) = 0.0011350766457997049988;
  weights(132) = 0.0011350766457997049988;
  weights(133) = 0.0011350766457997049988;
  weights(134) = 0.0011350766457997049988;
  weights(135) = 0.0010693364915242433398;
  weights(136) = 0.0010693364915242433398;
  weights(137) = 0.0010693364915242433398;
  weights(138) = 0.0010693364915242433398;
  weights(139) = 0.0010693364915242433398;
  weights(140) = 0.0010693364915242433398;
  weights(141) = 0.0021390670916362061402;
  weights(142) = 0.0021390670916362061402;
  weights(143) = 0.0021390670916362061402;
  weights(144) = 0.0021390670916362061402;
  weights(145) = 0.0021390670916362061402;
  weights(146) = 0.0021390670916362061402;
  weights(147) = 0.0012535096722214029812;
  weights(148) = 0.0012535096722214029812;
  weights(149) = 0.0012535096722214029812;
  weights(150) = 0.0012535096722214029812;
  weights(151) = 0.0012535096722214029812;
  weights(152) = 0.0012535096722214029812;
  weights(153) = 0.0019868655501992450903;
  weights(154) = 0.0019868655501992450903;
  weights(155) = 0.0019868655501992450903;
  weights(156) = 0.0019868655501992450903;
  weights(157) = 0.0019868655501992450903;
  weights(158) = 0.0019868655501992450903;
  weights(159) = 0.0027991272163015372236;
  weights(160) = 0.0027991272163015372236;
  weights(161) = 0.0027991272163015372236;
  weights(162) = 0.0023702068431689106952;
  weights(163) = 0.0023702068431689106952;
  weights(164) = 0.0023702068431689106952;
  weights(165) = 0.0023702068431689106952;
  weights(166) = 0.0023702068431689106952;
  weights(167) = 0.0023702068431689106952;
  weights(168) = 0.0015804510788922389568;
  weights(169) = 0.0015804510788922389568;
  weights(170) = 0.0015804510788922389568;
  weights(171) = 0.0015804510788922389568;
  weights(172) = 0.0015804510788922389568;
  weights(173) = 0.0015804510788922389568;
  weights(174) = 0.00065324651589185973519;
  weights(175) = 0.00065324651589185973519;
  weights(176) = 0.00065324651589185973519;
  weights(177) = 0.00065324651589185973519;
  weights(178) = 0.00065324651589185973519;
  weights(179) = 0.00065324651589185973519;
  weights(180) = 0.0012112082852970397582;
  weights(181) = 0.0012112082852970397582;
  weights(182) = 0.0012112082852970397582;
  weights(183) = 0.0012112082852970397582;
  weights(184) = 0.0012112082852970397582;
  weights(185) = 0.0012112082852970397582;
  weights(186) = 0.0022759072567849437593;
  weights(187) = 0.0022759072567849437593;
  weights(188) = 0.0022759072567849437593;
  weights(189) = 0.0012536406752904321726;
  weights(190) = 0.0012536406752904321726;
  weights(191) = 0.0012536406752904321726;
  weights(192) = 0.0020668792951942234308;
  weights(193) = 0.0020668792951942234308;
  weights(194) = 0.0020668792951942234308;
  weights(195) = 0.0020668792951942234308;
  weights(196) = 0.0020668792951942234308;
  weights(197) = 0.0020668792951942234308;
  weights(198) = 0.002552566590605613063;
  weights(199) = 0.002552566590605613063;
  weights(200) = 0.002552566590605613063;
  weights(201) = 0.002552566590605613063;
  weights(202) = 0.002552566590605613063;
  weights(203) = 0.002552566590605613063;
  weights(204) = 0.0013488116669917076321;
  weights(205) = 0.0013488116669917076321;
  weights(206) = 0.0013488116669917076321;
  weights(207) = 0.0013488116669917076321;
  weights(208) = 0.0013488116669917076321;
  weights(209) = 0.0013488116669917076321;
  weights(210) = 0.00094048219895364899151;
  weights(211) = 0.00094048219895364899151;
  weights(212) = 0.00094048219895364899151;
  weights(213) = 0.00094048219895364899151;
  weights(214) = 0.00094048219895364899151;
  weights(215) = 0.00094048219895364899151;
  weights(216) = 0.000457109505137131048;
  weights(217) = 0.000457109505137131048;
  weights(218) = 0.000457109505137131048;
  weights(219) = 0.000457109505137131048;
  weights(220) = 0.000457109505137131048;
  weights(221) = 0.000457109505137131048;
  weights(222) = 0.002032214962933600981;
  weights(223) = 0.002032214962933600981;
  weights(224) = 0.002032214962933600981;
  weights(225) = 0.000350532801434540501;
  weights(226) = 0.000350532801434540501;
  weights(227) = 0.000350532801434540501;
  weights(228) = 0.000350532801434540501;
  weights(229) = 0.000350532801434540501;
  weights(230) = 0.000350532801434540501;
  weights(231) = 0.0027525567706757065982;
  weights(232) = 0.0027525567706757065982;
  weights(233) = 0.0027525567706757065982;
  weights(234) = 0.0015950528243575253992;
  weights(235) = 0.0015950528243575253992;
  weights(236) = 0.0015950528243575253992;
  weights(237) = 0.0015950528243575253992;
  weights(238) = 0.0015950528243575253992;
  weights(239) = 0.0015950528243575253992;
  weights(240) = 0.0024723307999348739968;
  weights(241) = 0.0024723307999348739968;
  weights(242) = 0.0024723307999348739968;
  weights(243) = 0.0012169129205527667251;
  weights(244) = 0.0012169129205527667251;
  weights(245) = 0.0012169129205527667251;
  weights(246) = 0.0012169129205527667251;
  weights(247) = 0.0012169129205527667251;
  weights(248) = 0.0012169129205527667251;
  weights(249) = 0.00012542372572873475203;
  weights(250) = 0.00012542372572873475203;
  weights(251) = 0.00012542372572873475203;
  weights(252) = 0.00012542372572873475203;
  weights(253) = 0.00012542372572873475203;
  weights(254) = 0.00012542372572873475203;
  weights(255) = 0.002032894903797079645;
  weights(256) = 0.002032894903797079645;
  weights(257) = 0.002032894903797079645;
  weights(258) = 0.00085540656388025256528;
  weights(259) = 0.00085540656388025256528;
  weights(260) = 0.00085540656388025256528;
  weights(261) = 0.00085540656388025256528;
  weights(262) = 0.00085540656388025256528;
  weights(263) = 0.00085540656388025256528;
  weights(264) = 0.0022640060667147004353;
  weights(265) = 0.0022640060667147004353;
  weights(266) = 0.0022640060667147004353;
  weights(267) = 0.0022640060667147004353;
  weights(268) = 0.0022640060667147004353;
  weights(269) = 0.0022640060667147004353;
  weights(270) = 0.0020040696150745215126;
  weights(271) = 0.0020040696150745215126;
  weights(272) = 0.0020040696150745215126;
  weights(273) = 0.0020040696150745215126;
  weights(274) = 0.0020040696150745215126;
  weights(275) = 0.0020040696150745215126;
  weights(276) = 0.0005597701999536646442;
  weights(277) = 0.0005597701999536646442;
  weights(278) = 0.0005597701999536646442;
  weights(279) = 0.0005597701999536646442;
  weights(280) = 0.0005597701999536646442;
  weights(281) = 0.0005597701999536646442;
  weights(282) = 0.0008278245406138346309;
  weights(283) = 0.0008278245406138346309;
  weights(284) = 0.0008278245406138346309;
  weights(285) = 0.0008278245406138346309;
  weights(286) = 0.0008278245406138346309;
  weights(287) = 0.0008278245406138346309;
  weights(288) = 0.0015372786056367874607;
  weights(289) = 0.0015372786056367874607;
  weights(290) = 0.0015372786056367874607;
  weights(291) = 0.0015372786056367874607;
  weights(292) = 0.0015372786056367874607;
  weights(293) = 0.0015372786056367874607;
  weights(294) = 0.0024150352120985733514;
  weights(295) = 0.0024150352120985733514;
  weights(296) = 0.0024150352120985733514;
  weights(297) = 0.0024150352120985733514;
  weights(298) = 0.0024150352120985733514;
  weights(299) = 0.0024150352120985733514;
  weights(300) = 0.0019493487019107118979;
  weights(301) = 0.0019493487019107118979;
  weights(302) = 0.0019493487019107118979;
  weights(303) = 0.0019493487019107118979;
  weights(304) = 0.0019493487019107118979;
  weights(305) = 0.0019493487019107118979;
  weights(306) = 0.00082292599557737202039;
  weights(307) = 0.00082292599557737202039;
  weights(308) = 0.00082292599557737202039;
  weights(309) = 0.00082292599557737202039;
  weights(310) = 0.00082292599557737202039;
  weights(311) = 0.00082292599557737202039;
  weights(312) = 0.0018559524354637363733;
  weights(313) = 0.0018559524354637363733;
  weights(314) = 0.0018559524354637363733;
  weights(315) = 0.0018559524354637363733;
  weights(316) = 0.0018559524354637363733;
  weights(317) = 0.0018559524354637363733;
  weights(318) = 0.00070928780393080437423;
  weights(319) = 0.00070928780393080437423;
  weights(320) = 0.00070928780393080437423;
  weights(321) = 0.00070928780393080437423;
  weights(322) = 0.00070928780393080437423;
  weights(323) = 0.00070928780393080437423;
  weights(324) = 0.00064452909778545716245;
  weights(325) = 0.00064452909778545716245;
  weights(326) = 0.00064452909778545716245;
  weights(327) = 0.00064452909778545716245;
  weights(328) = 0.00064452909778545716245;
  weights(329) = 0.00064452909778545716245;
  weights(330) = 0.00078074502745289326398;
  weights(331) = 0.00078074502745289326398;
  weights(332) = 0.00078074502745289326398;
  weights(333) = 0.00078074502745289326398;
  weights(334) = 0.00078074502745289326398;
  weights(335) = 0.00078074502745289326398;
  weights(336) = 0.00084763594547300198483;
  weights(337) = 0.00084763594547300198483;
  weights(338) = 0.00084763594547300198483;
  weights(339) = 0.00084763594547300198483;
  weights(340) = 0.00084763594547300198483;
  weights(341) = 0.00084763594547300198483;
  weights(342) = 0.00037441543060198967862;
  weights(343) = 0.00037441543060198967862;
  weights(344) = 0.00037441543060198967862;
  weights(345) = 0.00022640113628395860858;
  weights(346) = 0.00022640113628395860858;
  weights(347) = 0.00022640113628395860858;
  weights(348) = 0.00022640113628395860858;
  weights(349) = 0.00022640113628395860858;
  weights(350) = 0.00022640113628395860858;
  weights(351) = 0.00037266991553318328835;
  weights(352) = 0.00037266991553318328835;
  weights(353) = 0.00037266991553318328835;
  weights(354) = 0.00037266991553318328835;
  weights(355) = 0.00037266991553318328835;
  weights(356) = 0.00037266991553318328835;
  weights(357) = 0.00026617407362933574516;
  weights(358) = 0.00026617407362933574516;
  weights(359) = 0.00026617407362933574516;
  weights(360) = 0.00026617407362933574516;
  weights(361) = 0.00026617407362933574516;
  weights(362) = 0.00026617407362933574516;
  weights(363) = 0.0018160699278318768839;
  weights(364) = 0.0018160699278318768839;
  weights(365) = 0.0018160699278318768839;
  weights(366) = 0.00032880984181319792767;
  weights(367) = 0.00032880984181319792767;
  weights(368) = 0.00032880984181319792767;
  weights(369) = 0.00032880984181319792767;
  weights(370) = 0.00032880984181319792767;
  weights(371) = 0.00032880984181319792767;
  weights(372) = 0.00018103452556533845721;
  weights(373) = 0.00018103452556533845721;
  weights(374) = 0.00018103452556533845721;
  weights(375) = 0.00018103452556533845721;
  weights(376) = 0.00018103452556533845721;
  weights(377) = 0.00018103452556533845721;
  weights(378) = 0.00035300597283524642747;
  weights(379) = 0.00035300597283524642747;
  weights(380) = 0.00035300597283524642747;
  weights(381) = 0.00035300597283524642747;
  weights(382) = 0.00035300597283524642747;
  weights(383) = 0.00035300597283524642747;
  weights(384) = 0.00030093855110998549846;
  weights(385) = 0.00030093855110998549846;
  weights(386) = 0.00030093855110998549846;
  weights(387) = 0.00030093855110998549846;
  weights(388) = 0.00030093855110998549846;
  weights(389) = 0.00030093855110998549846;
  weights(390) = 0.00036631967327483251975;
  weights(391) = 0.00036631967327483251975;
  weights(392) = 0.00036631967327483251975;
  weights(393) = 0.00036631967327483251975;
  weights(394) = 0.00036631967327483251975;
  weights(395) = 0.00036631967327483251975;
  weights(396) = 4.4626830709029568763e-05;
  weights(397) = 4.4626830709029568763e-05;
  weights(398) = 4.4626830709029568763e-05;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 47);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 48>() { // NOLINT
  Eigen::MatrixXd points(2, 423);
  Eigen::VectorXd weights(423);

  points(0, 0) = 0.34772445871080942537;
  points(1, 0) = 0.30455108257838114927;
  points(0, 1) = 0.34772445871080948088;
  points(1, 1) = 0.34772445871080953639;
  points(0, 2) = 0.30455108257838103825;
  points(1, 2) = 0.3477244587108095919;
  points(0, 3) = 0.36956729159016621367;
  points(1, 3) = 0.21570064416961690079;
  points(0, 4) = 0.4147320642402169133;
  points(1, 4) = 0.36956729159016626918;
  points(0, 5) = 0.21570064416961678977;
  points(1, 5) = 0.41473206424021707983;
  points(0, 6) = 0.41473206424021696881;
  points(1, 6) = 0.21570064416961690079;
  points(0, 7) = 0.36956729159016621367;
  points(1, 7) = 0.41473206424021702432;
  points(0, 8) = 0.21570064416961678977;
  points(1, 8) = 0.3695672915901663802;
  points(0, 9) = 0.30848189799336223071;
  points(1, 9) = 0.10830149992200398257;
  points(0, 10) = 0.58321660208463377284;
  points(1, 10) = 0.30848189799336228623;
  points(0, 11) = 0.10830149992200394093;
  points(1, 11) = 0.58321660208463399488;
  points(0, 12) = 0.58321660208463377284;
  points(1, 12) = 0.10830149992200398257;
  points(0, 13) = 0.30848189799336223071;
  points(1, 13) = 0.58321660208463388386;
  points(0, 14) = 0.10830149992200385767;
  points(1, 14) = 0.30848189799336239725;
  points(0, 15) = 0.3196427292245513363;
  points(1, 15) = 0.03469595277113644155;
  points(0, 16) = 0.64566131800431225685;
  points(1, 16) = 0.31964272922455139181;
  points(0, 17) = 0.034695952771136462367;
  points(1, 17) = 0.64566131800431247889;
  points(0, 18) = 0.64566131800431225685;
  points(1, 18) = 0.03469595277113644155;
  points(0, 19) = 0.31964272922455139181;
  points(1, 19) = 0.64566131800431225685;
  points(0, 20) = 0.034695952771136323589;
  points(1, 20) = 0.31964272922455155834;
  points(0, 21) = 0.37343127125532205035;
  points(1, 21) = 0.2531374574893558993;
  points(0, 22) = 0.37343127125532205035;
  points(1, 22) = 0.37343127125532221688;
  points(0, 23) = 0.25313745748935578828;
  points(1, 23) = 0.37343127125532221688;
  points(0, 24) = 0.99625596547715189466;
  points(1, 24) = 0.0013460639309494980363;
  points(0, 25) = 0.0023979705918986682356;
  points(1, 25) = 0.99625596547715200568;
  points(0, 26) = 0.0013460639309492577771;
  points(1, 26) = 0.0023979705918989713785;
  points(0, 27) = 0.0023979705918986101224;
  points(1, 27) = 0.0013460639309494980363;
  points(0, 28) = 0.99625596547715189466;
  points(1, 28) = 0.0023979705918985871373;
  points(0, 29) = 0.0013460639309496591487;
  points(1, 29) = 0.99625596547715200568;
  points(0, 30) = 0.32808481780883130829;
  points(1, 30) = 0.019170784080321606746;
  points(0, 31) = 0.6527443981108470572;
  points(1, 31) = 0.32808481780883130829;
  points(0, 32) = 0.019170784080321634502;
  points(1, 32) = 0.65274439811084727925;
  points(0, 33) = 0.6527443981108470572;
  points(1, 33) = 0.019170784080321606746;
  points(0, 34) = 0.32808481780883136381;
  points(1, 34) = 0.65274439811084716823;
  points(0, 35) = 0.019170784080321495724;
  points(1, 35) = 0.32808481780883153034;
  points(0, 36) = 0.31981290827271946497;
  points(1, 36) = 0.27636156531080974252;
  points(0, 37) = 0.4038255264164707925;
  points(1, 37) = 0.319812908272719576;
  points(0, 38) = 0.2763615653108096315;
  points(1, 38) = 0.40382552641647095903;
  points(0, 39) = 0.40382552641647073699;
  points(1, 39) = 0.27636156531080974252;
  points(0, 40) = 0.31981290827271946497;
  points(1, 40) = 0.40382552641647095903;
  points(0, 41) = 0.2763615653108096315;
  points(1, 41) = 0.319812908272719576;
  points(0, 42) = 0.15892660136182001906;
  points(1, 42) = 0.0016411683438174631388;
  points(0, 43) = 0.83943223029436242477;
  points(1, 43) = 0.15892660136181999131;
  points(0, 44) = 0.0016411683438175006522;
  points(1, 44) = 0.83943223029436275784;
  points(0, 45) = 0.83943223029436253579;
  points(1, 45) = 0.0016411683438174631388;
  points(0, 46) = 0.15892660136181996355;
  points(1, 46) = 0.83943223029436275784;
  points(0, 47) = 0.0016411683438172786076;
  points(1, 47) = 0.15892660136182035213;
  points(0, 48) = 0.1962759771972356071;
  points(1, 48) = 0.053323193421323515639;
  points(0, 49) = 0.75040082938144092584;
  points(1, 49) = 0.1962759771972356071;
  points(0, 50) = 0.053323193421323578089;
  points(1, 50) = 0.75040082938144092584;
  points(0, 51) = 0.75040082938144092584;
  points(1, 51) = 0.053323193421323515639;
  points(0, 52) = 0.19627597719723571812;
  points(1, 52) = 0.75040082938144092584;
  points(0, 53) = 0.053323193421323342167;
  points(1, 53) = 0.19627597719723591241;
  points(0, 54) = 0.48933905356285323229;
  points(1, 54) = 0.021321892874293580517;
  points(0, 55) = 0.48933905356285323229;
  points(1, 55) = 0.4893390535628532878;
  points(0, 56) = 0.021321892874293563169;
  points(1, 56) = 0.48933905356285339883;
  points(0, 57) = 0.29334218459018174263;
  points(1, 57) = 0.082928836401138378287;
  points(0, 58) = 0.62372897900867985133;
  points(1, 58) = 0.29334218459018179814;
  points(0, 59) = 0.082928836401138461554;
  points(1, 59) = 0.62372897900867996235;
  points(0, 60) = 0.62372897900867985133;
  points(1, 60) = 0.082928836401138378287;
  points(0, 61) = 0.29334218459018179814;
  points(1, 61) = 0.62372897900867996235;
  points(0, 62) = 0.082928836401138239509;
  points(1, 62) = 0.29334218459018190917;
  points(0, 63) = 0.048410924825139881045;
  points(1, 63) = 0.048410924825140165539;
  points(0, 64) = 0.9031781503497199326;
  points(1, 64) = 0.048410924825139881045;
  points(0, 65) = 0.048410924825140311256;
  points(1, 65) = 0.90317815034972004362;
  points(0, 66) = 0.080159548747975567506;
  points(1, 66) = 0.080159548747975872818;
  points(0, 67) = 0.83968090250404847641;
  points(1, 67) = 0.080159548747975581384;
  points(0, 68) = 0.080159548747976039351;
  points(1, 68) = 0.83968090250404858743;
  points(0, 69) = 0.12472732588139756604;
  points(1, 69) = 0.023319017149181504867;
  points(0, 70) = 0.85195365696942082501;
  points(1, 70) = 0.12472732588139757992;
  points(0, 71) = 0.023319017149181553439;
  points(1, 71) = 0.85195365696942115807;
  points(0, 72) = 0.85195365696942093603;
  points(1, 72) = 0.023319017149181504867;
  points(0, 73) = 0.12472732588139762155;
  points(1, 73) = 0.85195365696942115807;
  points(0, 74) = 0.023319017149181220372;
  points(1, 74) = 0.12472732588139789911;
  points(0, 75) = 0.31159324594327958424;
  points(1, 75) = 0.13871309395938558051;
  points(0, 76) = 0.54969366009733477973;
  points(1, 76) = 0.31159324594327963975;
  points(0, 77) = 0.13871309395938558051;
  points(1, 77) = 0.54969366009733500178;
  points(0, 78) = 0.54969366009733477973;
  points(1, 78) = 0.13871309395938558051;
  points(0, 79) = 0.31159324594327952873;
  points(1, 79) = 0.54969366009733500178;
  points(0, 80) = 0.13871309395938544173;
  points(1, 80) = 0.31159324594327980629;
  points(0, 81) = 0.47909026595921350156;
  points(1, 81) = 0.04181946808157297607;
  points(0, 82) = 0.47909026595921355707;
  points(1, 82) = 0.47909026595921355707;
  points(0, 83) = 0.04181946808157291362;
  points(1, 83) = 0.4790902659592137236;
  points(0, 84) = 0.46664241534843464709;
  points(1, 84) = 0.066715169303130733569;
  points(0, 85) = 0.46664241534843464709;
  points(1, 85) = 0.4666424153484347026;
  points(0, 86) = 0.066715169303130678058;
  points(1, 86) = 0.46664241534843481363;
  points(0, 87) = 0.11054144103188075221;
  points(1, 87) = 0.01054063940812252631;
  points(0, 88) = 0.87891791955999665209;
  points(1, 88) = 0.11054144103188072445;
  points(0, 89) = 0.010540639408122665088;
  points(1, 89) = 0.87891791955999676311;
  points(0, 90) = 0.87891791955999676311;
  points(1, 90) = 0.01054063940812252631;
  points(0, 91) = 0.11054144103188090487;
  points(1, 91) = 0.87891791955999676311;
  points(0, 92) = 0.010540639408122227938;
  points(1, 92) = 0.11054144103188111303;
  points(0, 93) = 0.2974171962759172283;
  points(1, 93) = 0.010347250567507923144;
  points(0, 94) = 0.69223555315657481213;
  points(1, 94) = 0.29741719627591728381;
  points(0, 95) = 0.010347250567507959573;
  points(1, 95) = 0.69223555315657492315;
  points(0, 96) = 0.69223555315657481213;
  points(1, 96) = 0.010347250567507923144;
  points(0, 97) = 0.29741719627591733932;
  points(1, 97) = 0.69223555315657492315;
  points(0, 98) = 0.01034725056750779304;
  points(1, 98) = 0.29741719627591756137;
  points(0, 99) = 0.29406805865227853003;
  points(1, 99) = 0.053781881658776703459;
  points(0, 100) = 0.65215005968894479427;
  points(1, 100) = 0.29406805865227858554;
  points(0, 101) = 0.053781881658776731214;
  points(1, 101) = 0.65215005968894490529;
  points(0, 102) = 0.65215005968894479427;
  points(1, 102) = 0.053781881658776703459;
  points(0, 103) = 0.29406805865227858554;
  points(1, 103) = 0.65215005968894490529;
  points(0, 104) = 0.053781881658776564681;
  points(1, 104) = 0.29406805865227880759;
  points(0, 105) = 0.1114012176063108317;
  points(1, 105) = 0.069760358020446430749;
  points(0, 106) = 0.81883842437324272368;
  points(1, 106) = 0.11140121760631080394;
  points(0, 107) = 0.069760358020446500138;
  points(1, 107) = 0.81883842437324294572;
  points(0, 108) = 0.81883842437324272368;
  points(1, 108) = 0.069760358020446430749;
  points(0, 109) = 0.1114012176063108317;
  points(1, 109) = 0.81883842437324294572;
  points(0, 110) = 0.06976035802044623646;
  points(1, 110) = 0.11140121760631113701;
  points(0, 111) = 0.44374345386362928911;
  points(1, 111) = 0.015502302779251051629;
  points(0, 112) = 0.54075424335711974599;
  points(1, 112) = 0.44374345386362934462;
  points(0, 113) = 0.015502302779250909381;
  points(1, 113) = 0.54075424335711996804;
  points(0, 114) = 0.54075424335711963497;
  points(1, 114) = 0.015502302779251051629;
  points(0, 115) = 0.44374345386362934462;
  points(1, 115) = 0.54075424335711974599;
  points(0, 116) = 0.015502302779250909381;
  points(1, 116) = 0.44374345386362956667;
  points(0, 117) = 0.36763571192940247556;
  points(1, 117) = 0.039622507258816941356;
  points(0, 118) = 0.59274178081178052757;
  points(1, 118) = 0.36763571192940253107;
  points(0, 119) = 0.039622507258816996867;
  points(1, 119) = 0.59274178081178063859;
  points(0, 120) = 0.59274178081178052757;
  points(1, 120) = 0.039622507258816941356;
  points(0, 121) = 0.36763571192940253107;
  points(1, 121) = 0.59274178081178063859;
  points(0, 122) = 0.039622507258816802578;
  points(1, 122) = 0.36763571192940275312;
  points(0, 123) = 0.048383418893624262347;
  points(1, 123) = 0.011810700923664055328;
  points(0, 124) = 0.939805880182711606;
  points(1, 124) = 0.048383418893624234591;
  points(0, 125) = 0.011810700923664263495;
  points(1, 125) = 0.93980588018271171702;
  points(0, 126) = 0.939805880182711606;
  points(1, 126) = 0.011810700923664055328;
  points(0, 127) = 0.048383418893624352553;
  points(1, 127) = 0.93980588018271171702;
  points(0, 128) = 0.011810700923663822876;
  points(1, 128) = 0.048383418893624623169;
  points(0, 129) = 0.42619854603484830236;
  points(1, 129) = 0.035287892346372237706;
  points(0, 130) = 0.53851356161877950157;
  points(1, 130) = 0.42619854603484830236;
  points(0, 131) = 0.035287892346372196073;
  points(1, 131) = 0.53851356161877972362;
  points(0, 132) = 0.53851356161877950157;
  points(1, 132) = 0.035287892346372237706;
  points(0, 133) = 0.42619854603484824684;
  points(1, 133) = 0.53851356161877961259;
  points(0, 134) = 0.035287892346372112806;
  points(1, 134) = 0.42619854603484846889;
  points(0, 135) = 0.34640370750834259539;
  points(1, 135) = 0.064715093001975143583;
  points(0, 136) = 0.58888119948968231654;
  points(1, 136) = 0.34640370750834259539;
  points(0, 137) = 0.064715093001975088072;
  points(1, 137) = 0.58888119948968253858;
  points(0, 138) = 0.58888119948968231654;
  points(1, 138) = 0.064715093001975143583;
  points(0, 139) = 0.34640370750834253988;
  points(1, 139) = 0.58888119948968242756;
  points(0, 140) = 0.064715093001974977049;
  points(1, 140) = 0.34640370750834281743;
  points(0, 141) = 0.076168644079201458519;
  points(1, 141) = 0.010422571567642105461;
  points(0, 142) = 0.91340878435315642214;
  points(1, 142) = 0.076168644079201430763;
  points(0, 143) = 0.010422571567642147095;
  points(1, 143) = 0.91340878435315675521;
  points(0, 144) = 0.91340878435315653316;
  points(1, 144) = 0.010422571567642105461;
  points(0, 145) = 0.076168644079201486274;
  points(1, 145) = 0.91340878435315675521;
  points(0, 146) = 0.010422571567641876478;
  points(1, 146) = 0.076168644079201749952;
  points(0, 147) = 0.31985580598920698714;
  points(1, 147) = 0.22710491753066897047;
  points(0, 148) = 0.45303927648012398688;
  points(1, 148) = 0.31985580598920709816;
  points(0, 149) = 0.22710491753066891496;
  points(1, 149) = 0.45303927648012420892;
  points(0, 150) = 0.4530392764801240979;
  points(1, 150) = 0.22710491753066897047;
  points(0, 151) = 0.31985580598920698714;
  points(1, 151) = 0.45303927648012420892;
  points(0, 152) = 0.22710491753066885945;
  points(1, 152) = 0.31985580598920715367;
  points(0, 153) = 0.11497674997632782723;
  points(1, 153) = 0.043154888080570587283;
  points(0, 154) = 0.84186836194310155079;
  points(1, 154) = 0.11497674997632782723;
  points(0, 155) = 0.043154888080570663611;
  points(1, 155) = 0.84186836194310177284;
  points(0, 156) = 0.84186836194310166182;
  points(1, 156) = 0.043154888080570587283;
  points(0, 157) = 0.11497674997632789662;
  points(1, 157) = 0.84186836194310177284;
  points(0, 158) = 0.043154888080570316666;
  points(1, 158) = 0.11497674997632814642;
  points(0, 159) = 0.15534118748633496399;
  points(1, 159) = 0.048974948218390428056;
  points(0, 160) = 0.79568386429527460102;
  points(1, 160) = 0.15534118748633496399;
  points(0, 161) = 0.048974948218390490506;
  points(1, 161) = 0.79568386429527482306;
  points(0, 162) = 0.79568386429527460102;
  points(1, 162) = 0.048974948218390428056;
  points(0, 163) = 0.15534118748633496399;
  points(1, 163) = 0.79568386429527482306;
  points(0, 164) = 0.048974948218390212951;
  points(1, 164) = 0.15534118748633529705;
  points(0, 165) = 0.15366413947806523144;
  points(1, 165) = 0.0094545488420266759338;
  points(0, 166) = 0.83688131167990809089;
  points(1, 166) = 0.15366413947806520368;
  points(0, 167) = 0.009454548842026844202;
  points(1, 167) = 0.83688131167990820192;
  points(0, 168) = 0.83688131167990820192;
  points(1, 168) = 0.0094545488420266759338;
  points(0, 169) = 0.15366413947806528695;
  points(1, 169) = 0.83688131167990820192;
  points(0, 170) = 0.009454548842026455624;
  points(1, 170) = 0.1536641394780655645;
  points(0, 171) = 0.079853820771823402769;
  points(1, 171) = 0.0018943058791126433493;
  points(0, 172) = 0.91825187334906388514;
  points(1, 172) = 0.079853820771823430524;
  points(0, 173) = 0.0018943058791127675988;
  points(1, 173) = 0.91825187334906410719;
  points(0, 174) = 0.91825187334906399617;
  points(1, 174) = 0.0018943058791126433493;
  points(0, 175) = 0.07985382077182345828;
  points(1, 175) = 0.91825187334906410719;
  points(0, 176) = 0.0018943058791123998374;
  points(1, 176) = 0.079853820771823749713;
  points(0, 177) = 0.011704574467113303474;
  points(1, 177) = 0.011704574467113617459;
  points(0, 178) = 0.9765908510657730357;
  points(1, 178) = 0.011704574467113296535;
  points(0, 179) = 0.011704574467113704195;
  points(1, 179) = 0.97659085106577325774;
  points(0, 180) = 0.19786011212854837105;
  points(1, 180) = 0.012028322403692916914;
  points(0, 181) = 0.79011156546775873633;
  points(1, 181) = 0.1978601121285483988;
  points(0, 182) = 0.012028322403692837117;
  points(1, 182) = 0.79011156546775906939;
  points(0, 183) = 0.7901115654677586253;
  points(1, 183) = 0.012028322403692916914;
  points(0, 184) = 0.19786011212854842656;
  points(1, 184) = 0.79011156546775873633;
  points(0, 185) = 0.01202832240369275385;
  points(1, 185) = 0.1978601121285486486;
  points(0, 186) = 0.31691538038078181927;
  points(1, 186) = 0.0019044677779363164589;
  points(0, 187) = 0.68118015184128188899;
  points(1, 187) = 0.31691538038078187478;
  points(0, 188) = 0.0019044677779363472503;
  points(1, 188) = 0.68118015184128200001;
  points(0, 189) = 0.68118015184128188899;
  points(1, 189) = 0.0019044677779363164589;
  points(0, 190) = 0.31691538038078187478;
  points(1, 190) = 0.68118015184128200001;
  points(0, 191) = 0.0019044677779362084724;
  points(1, 191) = 0.31691538038078209683;
  points(0, 192) = 0.16456397716341347737;
  points(1, 192) = 0.026205223792356464874;
  points(0, 193) = 0.80923079904423000919;
  points(1, 193) = 0.16456397716341344961;
  points(0, 194) = 0.026205223792356568957;
  points(1, 194) = 0.80923079904423023123;
  points(0, 195) = 0.80923079904423012021;
  points(1, 195) = 0.026205223792356464874;
  points(0, 196) = 0.16456397716341353288;
  points(1, 196) = 0.80923079904423023123;
  points(0, 197) = 0.026205223792356166501;
  points(1, 197) = 0.16456397716341378268;
  points(0, 198) = 0.36112983597993791873;
  points(1, 198) = 0.09447092152402640497;
  points(0, 199) = 0.54439924249603566242;
  points(1, 199) = 0.36112983597993797424;
  points(0, 200) = 0.094470921524026363336;
  points(1, 200) = 0.54439924249603588446;
  points(0, 201) = 0.54439924249603566242;
  points(1, 201) = 0.09447092152402640497;
  points(0, 202) = 0.36112983597993797424;
  points(1, 202) = 0.54439924249603577344;
  points(0, 203) = 0.094470921524026280069;
  points(1, 203) = 0.36112983597993814078;
  points(0, 204) = 0.41982597745422939317;
  points(1, 204) = 0.096323349033783742246;
  points(0, 205) = 0.48385067351198685071;
  points(1, 205) = 0.41982597745422944868;
  points(0, 206) = 0.096323349033783645101;
  points(1, 206) = 0.48385067351198707275;
  points(0, 207) = 0.48385067351198690622;
  points(1, 207) = 0.096323349033783742246;
  points(0, 208) = 0.41982597745422944868;
  points(1, 208) = 0.48385067351198696173;
  points(0, 209) = 0.096323349033783617346;
  points(1, 209) = 0.41982597745422961522;
  points(0, 210) = 0.24317522457466309027;
  points(1, 210) = 0.05349031726342740739;
  points(0, 211) = 0.70333445816190953703;
  points(1, 211) = 0.24317522457466309027;
  points(0, 212) = 0.053490317263427455963;
  points(1, 212) = 0.70333445816190964806;
  points(0, 213) = 0.70333445816190953703;
  points(1, 213) = 0.05349031726342740739;
  points(0, 214) = 0.24317522457466311803;
  points(1, 214) = 0.70333445816190964806;
  points(0, 215) = 0.053490317263427164529;
  points(1, 215) = 0.24317522457466336783;
  points(0, 216) = 0.14598322311364345105;
  points(1, 216) = 0.07952447860083718123;
  points(0, 217) = 0.77449229828551924282;
  points(1, 217) = 0.14598322311364347881;
  points(0, 218) = 0.079524478600837222864;
  points(1, 218) = 0.77449229828551957588;
  points(0, 219) = 0.77449229828551946486;
  points(1, 219) = 0.07952447860083718123;
  points(0, 220) = 0.1459832231136434233;
  points(1, 220) = 0.77449229828551957588;
  points(0, 221) = 0.079524478600836986941;
  points(1, 221) = 0.14598322311364378412;
  points(0, 222) = 0.02723928326798027294;
  points(1, 222) = 0.011030754781471929088;
  points(0, 223) = 0.9617299619505478292;
  points(1, 223) = 0.027239283267980234776;
  points(0, 224) = 0.011030754781472085213;
  points(1, 224) = 0.96172996195054794022;
  points(0, 225) = 0.9617299619505478292;
  points(1, 225) = 0.011030754781471929088;
  points(0, 226) = 0.027239283267980307635;
  points(1, 226) = 0.96172996195054794022;
  points(0, 227) = 0.011030754781471653267;
  points(1, 227) = 0.027239283267980616415;
  points(0, 228) = 0.24531370896477841526;
  points(1, 228) = 0.012186232963978851571;
  points(0, 229) = 0.74250005807124275226;
  points(1, 229) = 0.24531370896477841526;
  points(0, 230) = 0.012186232963978860244;
  points(1, 230) = 0.7425000580712429743;
  points(0, 231) = 0.74250005807124275226;
  points(1, 231) = 0.012186232963978851571;
  points(0, 232) = 0.2453137089647783875;
  points(1, 232) = 0.7425000580712429743;
  points(0, 233) = 0.012186232963978610444;
  points(1, 233) = 0.24531370896477872057;
  points(0, 234) = 0.26784651371116879881;
  points(1, 234) = 0.26784651371116896534;
  points(0, 235) = 0.46430697257766218033;
  points(1, 235) = 0.26784651371116890983;
  points(0, 236) = 0.26784651371116890983;
  points(1, 236) = 0.46430697257766240238;
  points(0, 237) = 0.11655421907345289712;
  points(1, 237) = 0.0021132182624776095665;
  points(0, 238) = 0.88133256266406945212;
  points(1, 238) = 0.11655421907345291099;
  points(0, 239) = 0.0021132182624776785218;
  points(1, 239) = 0.88133256266406967416;
  points(0, 240) = 0.88133256266406945212;
  points(1, 240) = 0.0021132182624776095665;
  points(0, 241) = 0.11655421907345292487;
  points(1, 241) = 0.88133256266406967416;
  points(0, 242) = 0.0021132182624773732105;
  points(1, 242) = 0.11655421907345325794;
  points(0, 243) = 0.053585682870044608339;
  points(1, 243) = 0.027218990658071217509;
  points(0, 244) = 0.91919532647188417762;
  points(1, 244) = 0.053585682870044573645;
  points(0, 245) = 0.027218990658071318123;
  points(1, 245) = 0.91919532647188439967;
  points(0, 246) = 0.9191953264718840666;
  points(1, 246) = 0.027218990658071217509;
  points(0, 247) = 0.053585682870044615278;
  points(1, 247) = 0.91919532647188439967;
  points(0, 248) = 0.027218990658070939953;
  points(1, 248) = 0.053585682870044927528;
  points(0, 249) = 0.085135518150016853411;
  points(1, 249) = 0.026256259012472072528;
  points(0, 250) = 0.88860822283751106365;
  points(1, 250) = 0.085135518150016825656;
  points(0, 251) = 0.026256259012472138448;
  points(1, 251) = 0.8886082228375112857;
  points(0, 252) = 0.88860822283751117467;
  points(1, 252) = 0.026256259012472072528;
  points(0, 253) = 0.085135518150016964434;
  points(1, 253) = 0.88860822283751117467;
  points(0, 254) = 0.026256259012471805381;
  points(1, 254) = 0.085135518150017186478;
  points(0, 255) = 0.4084926257856330567;
  points(1, 255) = 0.062475097450370421781;
  points(0, 256) = 0.52903227676399655621;
  points(1, 256) = 0.4084926257856330567;
  points(0, 257) = 0.062475097450370387087;
  points(1, 257) = 0.52903227676399677826;
  points(0, 258) = 0.52903227676399644519;
  points(1, 258) = 0.062475097450370421781;
  points(0, 259) = 0.40849262578563311221;
  points(1, 259) = 0.52903227676399666723;
  points(0, 260) = 0.06247509745037030382;
  points(1, 260) = 0.40849262578563333426;
  points(0, 261) = 0.38225104509481377946;
  points(1, 261) = 0.17377620987619349369;
  points(0, 262) = 0.4439727450289926991;
  points(1, 262) = 0.38225104509481389048;
  points(0, 263) = 0.17377620987619341042;
  points(1, 263) = 0.44397274502899286563;
  points(0, 264) = 0.44397274502899275461;
  points(1, 264) = 0.17377620987619349369;
  points(0, 265) = 0.38225104509481389048;
  points(1, 265) = 0.44397274502899281012;
  points(0, 266) = 0.17377620987619335491;
  points(1, 266) = 0.3822510450948140015;
  points(0, 267) = 0.025974032206589024729;
  points(1, 267) = 0.0020491260430695718529;
  points(0, 268) = 0.97197684175034126941;
  points(1, 268) = 0.025974032206589010852;
  points(0, 269) = 0.0020491260430697821882;
  points(1, 269) = 0.97197684175034149145;
  points(0, 270) = 0.97197684175034149145;
  points(1, 270) = 0.0020491260430695718529;
  points(0, 271) = 0.025974032206589170446;
  points(1, 271) = 0.97197684175034149145;
  points(0, 272) = 0.0020491260430692530975;
  points(1, 272) = 0.02597403220658939596;
  points(0, 273) = 0.38568918876006430541;
  points(1, 273) = 0.018890041661542036205;
  points(0, 274) = 0.59542076957839362716;
  points(1, 274) = 0.38568918876006436092;
  points(0, 275) = 0.01889004166154206743;
  points(1, 275) = 0.59542076957839373819;
  points(0, 276) = 0.59542076957839362716;
  points(1, 276) = 0.018890041661542036205;
  points(0, 277) = 0.38568918876006441643;
  points(1, 277) = 0.59542076957839373819;
  points(0, 278) = 0.018890041661541900897;
  points(1, 278) = 0.38568918876006463847;
  points(0, 279) = 0.19074647943140310424;
  points(1, 279) = 0.082618952945698445611;
  points(0, 280) = 0.72663456762289846402;
  points(1, 280) = 0.19074647943140310424;
  points(0, 281) = 0.082618952945698431733;
  points(1, 281) = 0.72663456762289868607;
  points(0, 282) = 0.72663456762289846402;
  points(1, 282) = 0.082618952945698445611;
  points(0, 283) = 0.19074647943140315975;
  points(1, 283) = 0.72663456762289857505;
  points(0, 284) = 0.082618952945698237444;
  points(1, 284) = 0.1907464794314033818;
  points(0, 285) = 0.049314651604851808542;
  points(1, 285) = 0.0022799567867531097924;
  points(0, 286) = 0.94840539160839509858;
  points(1, 286) = 0.049314651604851766908;
  points(0, 287) = 0.0022799567867532455345;
  points(1, 287) = 0.9484053916083952096;
  points(0, 288) = 0.94840539160839509858;
  points(1, 288) = 0.0022799567867531097924;
  points(0, 289) = 0.049314651604851933442;
  points(1, 289) = 0.9484053916083952096;
  points(0, 290) = 0.0022799567867527632814;
  points(1, 290) = 0.049314651604852120792;
  points(0, 291) = 0.42648254549804659463;
  points(1, 291) = 0.0047722521203026439796;
  points(0, 292) = 0.56874520238165082731;
  points(1, 292) = 0.42648254549804665015;
  points(0, 293) = 0.0047722521203025780601;
  points(1, 293) = 0.56874520238165104935;
  points(0, 294) = 0.56874520238165082731;
  points(1, 294) = 0.0047722521203026439796;
  points(0, 295) = 0.42648254549804665015;
  points(1, 295) = 0.56874520238165082731;
  points(0, 296) = 0.0047722521203025503045;
  points(1, 296) = 0.42648254549804681668;
  points(0, 297) = 0.15136475267056509475;
  points(1, 297) = 0.11620235641158806195;
  points(0, 298) = 0.73243289091784691269;
  points(1, 298) = 0.15136475267056509475;
  points(0, 299) = 0.11620235641158804807;
  points(1, 299) = 0.73243289091784702372;
  points(0, 300) = 0.73243289091784680167;
  points(1, 300) = 0.11620235641158806195;
  points(0, 301) = 0.15136475267056515026;
  points(1, 301) = 0.73243289091784702372;
  points(0, 302) = 0.11620235641158781215;
  points(1, 302) = 0.15136475267056540006;
  points(0, 303) = 0.24108556039098644197;
  points(1, 303) = 0.085525264242367060596;
  points(0, 304) = 0.67338917536664655294;
  points(1, 304) = 0.24108556039098646973;
  points(0, 305) = 0.085525264242367060596;
  points(1, 305) = 0.67338917536664666397;
  points(0, 306) = 0.67338917536664655294;
  points(1, 306) = 0.085525264242367060596;
  points(0, 307) = 0.24108556039098644197;
  points(1, 307) = 0.67338917536664666397;
  points(0, 308) = 0.085525264242366866307;
  points(1, 308) = 0.24108556039098666401;
  points(0, 309) = 0.21203621120547969103;
  points(1, 309) = 0.029776788322806651416;
  points(0, 310) = 0.75818700047171372347;
  points(1, 310) = 0.21203621120547971879;
  points(0, 311) = 0.029776788322806668763;
  points(1, 311) = 0.75818700047171383449;
  points(0, 312) = 0.75818700047171372347;
  points(1, 312) = 0.029776788322806651416;
  points(0, 313) = 0.21203621120547971879;
  points(1, 313) = 0.75818700047171383449;
  points(0, 314) = 0.029776788322806446718;
  points(1, 314) = 0.21203621120547999634;
  points(0, 315) = 0.07734202808425384712;
  points(1, 315) = 0.050253537035871397032;
  points(0, 316) = 0.87240443487987473503;
  points(1, 316) = 0.077342028084253860998;
  points(0, 317) = 0.050253537035871431726;
  points(1, 317) = 0.87240443487987495708;
  points(0, 318) = 0.87240443487987473503;
  points(1, 318) = 0.050253537035871397032;
  points(0, 319) = 0.077342028084253999776;
  points(1, 319) = 0.87240443487987484605;
  points(0, 320) = 0.050253537035871188865;
  points(1, 320) = 0.077342028084254207942;
  points(0, 321) = 0.26592702365453130264;
  points(1, 321) = 0.21630020710235439707;
  points(0, 322) = 0.51777276924311421702;
  points(1, 322) = 0.26592702365453141367;
  points(0, 323) = 0.2163002071023543138;
  points(1, 323) = 0.51777276924311443906;
  points(0, 324) = 0.51777276924311432804;
  points(1, 324) = 0.21630020710235439707;
  points(0, 325) = 0.26592702365453135815;
  points(1, 325) = 0.51777276924311443906;
  points(0, 326) = 0.21630020710235423054;
  points(1, 326) = 0.26592702365453152469;
  points(0, 327) = 0.21313827248019076577;
  points(1, 327) = 0.21313827248019096006;
  points(0, 328) = 0.57372345503961830193;
  points(1, 328) = 0.21313827248019084903;
  points(0, 329) = 0.21313827248019090455;
  points(1, 329) = 0.57372345503961841295;
  points(0, 330) = 0.01027811240403520357;
  points(1, 330) = 0.0023182076844770948751;
  points(0, 331) = 0.98740367991148769722;
  points(1, 331) = 0.010278112404035198366;
  points(0, 332) = 0.0023182076844772692148;
  points(1, 332) = 0.98740367991148769722;
  points(0, 333) = 0.98740367991148780824;
  points(1, 333) = 0.0023182076844770948751;
  points(0, 334) = 0.010278112404035366634;
  points(1, 334) = 0.98740367991148769722;
  points(0, 335) = 0.0023182076844768554832;
  points(1, 335) = 0.010278112404035583474;
  points(0, 336) = 0.43362666136661093264;
  points(1, 336) = 0.13274667726677810697;
  points(0, 337) = 0.43362666136661087712;
  points(1, 337) = 0.43362666136661104366;
  points(0, 338) = 0.13274667726677799595;
  points(1, 338) = 0.43362666136661115468;
  points(0, 339) = 0.3637486804898150683;
  points(1, 339) = 0.0064301877897617425173;
  points(0, 340) = 0.6298211317204231996;
  points(1, 340) = 0.36374868048981512381;
  points(0, 341) = 0.0064301877897616765978;
  points(1, 341) = 0.62982113172042342164;
  points(0, 342) = 0.6298211317204231996;
  points(1, 342) = 0.0064301877897617425173;
  points(0, 343) = 0.36374868048981512381;
  points(1, 343) = 0.6298211317204231996;
  points(0, 344) = 0.0064301877897615933311;
  points(1, 344) = 0.36374868048981540136;
  points(0, 345) = 0.36982020510671365088;
  points(1, 345) = 0.13311111506547146366;
  points(0, 346) = 0.49706867982781482995;
  points(1, 346) = 0.3698202051067137619;
  points(0, 347) = 0.13311111506547140815;
  points(1, 347) = 0.49706867982781510751;
  points(0, 348) = 0.49706867982781482995;
  points(1, 348) = 0.13311111506547146366;
  points(0, 349) = 0.36982020510671365088;
  points(1, 349) = 0.49706867982781494097;
  points(0, 350) = 0.13311111506547135264;
  points(1, 350) = 0.36982020510671387292;
  points(0, 351) = 0.15990091444053883274;
  points(1, 351) = 0.15990091444053902703;
  points(0, 352) = 0.6801981711189222235;
  points(1, 352) = 0.15990091444053886049;
  points(0, 353) = 0.15990091444053899927;
  points(1, 353) = 0.68019817111892244554;
  points(0, 354) = 0.028063663492678164735;
  points(1, 354) = 0.028063663492678466577;
  points(0, 355) = 0.94387267301464339297;
  points(1, 355) = 0.028063663492678147388;
  points(0, 356) = 0.028063663492678581068;
  points(1, 356) = 0.943872673014643504;
  points(0, 357) = 0.2622368556255414429;
  points(1, 357) = 0.16825248537156295425;
  points(0, 358) = 0.56951065900289554733;
  points(1, 358) = 0.26223685562554160944;
  points(0, 359) = 0.16825248537156295425;
  points(1, 359) = 0.56951065900289565835;
  points(0, 360) = 0.56951065900289554733;
  points(1, 360) = 0.16825248537156295425;
  points(0, 361) = 0.26223685562554149842;
  points(1, 361) = 0.56951065900289565835;
  points(0, 362) = 0.16825248537156275996;
  points(1, 362) = 0.26223685562554172046;
  points(0, 363) = 0.20586527419899883218;
  points(1, 363) = 0.0023776437008402018757;
  points(0, 364) = 0.79175708210016093602;
  points(1, 364) = 0.20586527419899883218;
  points(0, 365) = 0.0023776437008402595552;
  points(1, 365) = 0.79175708210016115807;
  points(0, 366) = 0.79175708210016093602;
  points(1, 366) = 0.0023776437008402018757;
  points(0, 367) = 0.20586527419899880442;
  points(1, 367) = 0.79175708210016115807;
  points(0, 368) = 0.0023776437008399958772;
  points(1, 368) = 0.20586527419899910973;
  points(0, 369) = 0.32106129923917109403;
  points(1, 369) = 0.17927517691473490724;
  points(0, 370) = 0.49966352384609391546;
  points(1, 370) = 0.32106129923917126057;
  points(0, 371) = 0.17927517691473487949;
  points(1, 371) = 0.4996635238460941375;
  points(0, 372) = 0.49966352384609391546;
  points(1, 372) = 0.17927517691473490724;
  points(0, 373) = 0.32106129923917114954;
  points(1, 373) = 0.49966352384609402648;
  points(0, 374) = 0.17927517691473479622;
  points(1, 374) = 0.32106129923917131608;
  points(0, 375) = 0.26700892535281112172;
  points(1, 375) = 0.02846335161201911379;
  points(0, 376) = 0.70452772303516975061;
  points(1, 376) = 0.26700892535281112172;
  points(0, 377) = 0.028463351612019072157;
  points(1, 377) = 0.70452772303517008368;
  points(0, 378) = 0.70452772303516975061;
  points(1, 378) = 0.02846335161201911379;
  points(0, 379) = 0.26700892535281123275;
  points(1, 379) = 0.70452772303516975061;
  points(0, 380) = 0.028463351612018933379;
  points(1, 380) = 0.26700892535281145479;
  points(0, 381) = 0.25860454101035101893;
  points(1, 381) = 0.0022264670918958695892;
  points(0, 382) = 0.73916899189775309154;
  points(1, 382) = 0.25860454101035107444;
  points(0, 383) = 0.0022264670918958895385;
  points(1, 383) = 0.73916899189775331358;
  points(0, 384) = 0.73916899189775309154;
  points(1, 384) = 0.0022264670918958695892;
  points(0, 385) = 0.25860454101035112995;
  points(1, 385) = 0.73916899189775309154;
  points(0, 386) = 0.002226467091895723005;
  points(1, 386) = 0.25860454101035135199;
  points(0, 387) = 0.1996247626773604289;
  points(1, 387) = 0.12036436957224955213;
  points(0, 388) = 0.68001086775038999122;
  points(1, 388) = 0.19962476267736048441;
  points(0, 389) = 0.12036436957224949662;
  points(1, 389) = 0.68001086775039021326;
  points(0, 390) = 0.68001086775038999122;
  points(1, 390) = 0.12036436957224955213;
  points(0, 391) = 0.19962476267736051216;
  points(1, 391) = 0.68001086775039021326;
  points(0, 392) = 0.12036436957224935784;
  points(1, 392) = 0.1996247626773606787;
  points(0, 393) = 0.20889086438440646054;
  points(1, 393) = 0.1643344616867156438;
  points(0, 394) = 0.6267746739288778679;
  points(1, 394) = 0.20889086438440646054;
  points(0, 395) = 0.16433446168671567156;
  points(1, 395) = 0.62677467392887808995;
  points(0, 396) = 0.6267746739288778679;
  points(1, 396) = 0.1643344616867156438;
  points(0, 397) = 0.20889086438440646054;
  points(1, 397) = 0.62677467392887808995;
  points(0, 398) = 0.16433446168671550502;
  points(1, 398) = 0.20889086438440665483;
  points(0, 399) = 0.10804712924230591709;
  points(1, 399) = 0.10804712924230618076;
  points(0, 400) = 0.78390574151538783276;
  points(1, 400) = 0.10804712924230591709;
  points(0, 401) = 0.10804712924230619464;
  points(1, 401) = 0.78390574151538805481;
  points(0, 402) = 0.25333360060180892814;
  points(1, 402) = 0.12388745883767673939;
  points(0, 403) = 0.62277894056051430471;
  points(1, 403) = 0.25333360060180892814;
  points(0, 404) = 0.12388745883767671163;
  points(1, 404) = 0.62277894056051463778;
  points(0, 405) = 0.62277894056051430471;
  points(1, 405) = 0.12388745883767673939;
  points(0, 406) = 0.25333360060180892814;
  points(1, 406) = 0.62277894056051452676;
  points(0, 407) = 0.12388745883767657285;
  points(1, 407) = 0.25333360060180915019;
  points(0, 408) = 0.49717563723846608381;
  points(1, 408) = 0.0056487255230678809492;
  points(0, 409) = 0.4971756372384660283;
  points(1, 409) = 0.49717563723846613932;
  points(0, 410) = 0.0056487255230678046214;
  points(1, 410) = 0.49717563723846630586;
  points(0, 411) = 0.46379612274656634163;
  points(1, 411) = 0.00016001038938432321414;
  points(0, 412) = 0.53604386686404936757;
  points(1, 412) = 0.46379612274656634163;
  points(0, 413) = 0.00016001038938423528535;
  points(1, 413) = 0.53604386686404958962;
  points(0, 414) = 0.53604386686404936757;
  points(1, 414) = 0.00016001038938432321414;
  points(0, 415) = 0.46379612274656634163;
  points(1, 415) = 0.53604386686404947859;
  points(0, 416) = 0.00016001038938423528535;
  points(1, 416) = 0.46379612274656656368;
  points(0, 417) = 0.38371779905054642645;
  points(1, 417) = 0.00010850920174366268341;
  points(0, 418) = 0.61617369174770986184;
  points(1, 418) = 0.38371779905054642645;
  points(0, 419) = 0.00010850920174365619175;
  points(1, 419) = 0.61617369174771008389;
  points(0, 420) = 0.61617369174770986184;
  points(1, 420) = 0.00010850920174366268341;
  points(0, 421) = 0.38371779905054653748;
  points(1, 421) = 0.61617369174770997287;
  points(0, 422) = 0.00010850920174354516945;
  points(1, 422) = 0.38371779905054670401;

  weights(0) = 0.002182569376891369331;
  weights(1) = 0.002182569376891369331;
  weights(2) = 0.002182569376891369331;
  weights(3) = 0.001859965706148354516;
  weights(4) = 0.001859965706148354516;
  weights(5) = 0.001859965706148354516;
  weights(6) = 0.001859965706148354516;
  weights(7) = 0.001859965706148354516;
  weights(8) = 0.001859965706148354516;
  weights(9) = 0.0015163054722851024292;
  weights(10) = 0.0015163054722851024292;
  weights(11) = 0.0015163054722851024292;
  weights(12) = 0.0015163054722851024292;
  weights(13) = 0.0015163054722851024292;
  weights(14) = 0.0015163054722851024292;
  weights(15) = 0.00092350543241674512649;
  weights(16) = 0.00092350543241674512649;
  weights(17) = 0.00092350543241674512649;
  weights(18) = 0.00092350543241674512649;
  weights(19) = 0.00092350543241674512649;
  weights(20) = 0.00092350543241674512649;
  weights(21) = 0.0019845875226512919333;
  weights(22) = 0.0019845875226512919333;
  weights(23) = 0.0019845875226512919333;
  weights(24) = 1.1886454042432897764e-05;
  weights(25) = 1.1886454042432897764e-05;
  weights(26) = 1.1886454042432897764e-05;
  weights(27) = 1.1886454042432897764e-05;
  weights(28) = 1.1886454042432897764e-05;
  weights(29) = 1.1886454042432897764e-05;
  weights(30) = 0.00077248372632048359875;
  weights(31) = 0.00077248372632048359875;
  weights(32) = 0.00077248372632048359875;
  weights(33) = 0.00077248372632048359875;
  weights(34) = 0.00077248372632048359875;
  weights(35) = 0.00077248372632048359875;
  weights(36) = 0.0025159434913496966923;
  weights(37) = 0.0025159434913496966923;
  weights(38) = 0.0025159434913496966923;
  weights(39) = 0.0025159434913496966923;
  weights(40) = 0.0025159434913496966923;
  weights(41) = 0.0025159434913496966923;
  weights(42) = 0.00019436788340049178684;
  weights(43) = 0.00019436788340049178684;
  weights(44) = 0.00019436788340049178684;
  weights(45) = 0.00019436788340049178684;
  weights(46) = 0.00019436788340049178684;
  weights(47) = 0.00019436788340049178684;
  weights(48) = 0.0011464846676597329703;
  weights(49) = 0.0011464846676597329703;
  weights(50) = 0.0011464846676597329703;
  weights(51) = 0.0011464846676597329703;
  weights(52) = 0.0011464846676597329703;
  weights(53) = 0.0011464846676597329703;
  weights(54) = 0.00091105726839225530805;
  weights(55) = 0.00091105726839225530805;
  weights(56) = 0.00091105726839225530805;
  weights(57) = 0.0016295040978854741839;
  weights(58) = 0.0016295040978854741839;
  weights(59) = 0.0016295040978854741839;
  weights(60) = 0.0016295040978854741839;
  weights(61) = 0.0016295040978854741839;
  weights(62) = 0.0016295040978854741839;
  weights(63) = 0.00060572362503248980935;
  weights(64) = 0.00060572362503248980935;
  weights(65) = 0.00060572362503248980935;
  weights(66) = 0.00096547724481353507098;
  weights(67) = 0.00096547724481353507098;
  weights(68) = 0.00096547724481353507098;
  weights(69) = 0.00064971719670075926429;
  weights(70) = 0.00064971719670075926429;
  weights(71) = 0.00064971719670075926429;
  weights(72) = 0.00064971719670075926429;
  weights(73) = 0.00064971719670075926429;
  weights(74) = 0.00064971719670075926429;
  weights(75) = 0.0020221158995707548024;
  weights(76) = 0.0020221158995707548024;
  weights(77) = 0.0020221158995707548024;
  weights(78) = 0.0020221158995707548024;
  weights(79) = 0.0020221158995707548024;
  weights(80) = 0.0020221158995707548024;
  weights(81) = 0.0013200121878205368659;
  weights(82) = 0.0013200121878205368659;
  weights(83) = 0.0013200121878205368659;
  weights(84) = 0.0016420960432030349066;
  weights(85) = 0.0016420960432030349066;
  weights(86) = 0.0016420960432030349066;
  weights(87) = 0.00043223955354725979378;
  weights(88) = 0.00043223955354725979378;
  weights(89) = 0.00043223955354725979378;
  weights(90) = 0.00043223955354725979378;
  weights(91) = 0.00043223955354725979378;
  weights(92) = 0.00043223955354725979378;
  weights(93) = 0.00063298571823787116736;
  weights(94) = 0.00063298571823787116736;
  weights(95) = 0.00063298571823787116736;
  weights(96) = 0.00063298571823787116736;
  weights(97) = 0.00063298571823787116736;
  weights(98) = 0.00063298571823787116736;
  weights(99) = 0.0013712942976207562803;
  weights(100) = 0.0013712942976207562803;
  weights(101) = 0.0013712942976207562803;
  weights(102) = 0.0013712942976207562803;
  weights(103) = 0.0013712942976207562803;
  weights(104) = 0.0013712942976207562803;
  weights(105) = 0.0010577037768328726667;
  weights(106) = 0.0010577037768328726667;
  weights(107) = 0.0010577037768328726667;
  weights(108) = 0.0010577037768328726667;
  weights(109) = 0.0010577037768328726667;
  weights(110) = 0.0010577037768328726667;
  weights(111) = 0.00081157726364284254149;
  weights(112) = 0.00081157726364284254149;
  weights(113) = 0.00081157726364284254149;
  weights(114) = 0.00081157726364284254149;
  weights(115) = 0.00081157726364284254149;
  weights(116) = 0.00081157726364284254149;
  weights(117) = 0.0012706368667026474856;
  weights(118) = 0.0012706368667026474856;
  weights(119) = 0.0012706368667026474856;
  weights(120) = 0.0012706368667026474856;
  weights(121) = 0.0012706368667026474856;
  weights(122) = 0.0012706368667026474856;
  weights(123) = 0.00031131773605608649771;
  weights(124) = 0.00031131773605608649771;
  weights(125) = 0.00031131773605608649771;
  weights(126) = 0.00031131773605608649771;
  weights(127) = 0.00031131773605608649771;
  weights(128) = 0.00031131773605608649771;
  weights(129) = 0.0013209201899881362844;
  weights(130) = 0.0013209201899881362844;
  weights(131) = 0.0013209201899881362844;
  weights(132) = 0.0013209201899881362844;
  weights(133) = 0.0013209201899881362844;
  weights(134) = 0.0013209201899881362844;
  weights(135) = 0.0016326585513786941607;
  weights(136) = 0.0016326585513786941607;
  weights(137) = 0.0016326585513786941607;
  weights(138) = 0.0016326585513786941607;
  weights(139) = 0.0016326585513786941607;
  weights(140) = 0.0016326585513786941607;
  weights(141) = 0.00038275729296120911951;
  weights(142) = 0.00038275729296120911951;
  weights(143) = 0.00038275729296120911951;
  weights(144) = 0.00038275729296120911951;
  weights(145) = 0.00038275729296120911951;
  weights(146) = 0.00038275729296120911951;
  weights(147) = 0.0025820680472357629073;
  weights(148) = 0.0025820680472357629073;
  weights(149) = 0.0025820680472357629073;
  weights(150) = 0.0025820680472357629073;
  weights(151) = 0.0025820680472357629073;
  weights(152) = 0.0025820680472357629073;
  weights(153) = 0.00092771949063791812363;
  weights(154) = 0.00092771949063791812363;
  weights(155) = 0.00092771949063791812363;
  weights(156) = 0.00092771949063791812363;
  weights(157) = 0.00092771949063791812363;
  weights(158) = 0.00092771949063791812363;
  weights(159) = 0.0011399050056811561513;
  weights(160) = 0.0011399050056811561513;
  weights(161) = 0.0011399050056811561513;
  weights(162) = 0.0011399050056811561513;
  weights(163) = 0.0011399050056811561513;
  weights(164) = 0.0011399050056811561513;
  weights(165) = 0.00051339730859804519336;
  weights(166) = 0.00051339730859804519336;
  weights(167) = 0.00051339730859804519336;
  weights(168) = 0.00051339730859804519336;
  weights(169) = 0.00051339730859804519336;
  weights(170) = 0.00051339730859804519336;
  weights(171) = 0.0001664215605633112484;
  weights(172) = 0.0001664215605633112484;
  weights(173) = 0.0001664215605633112484;
  weights(174) = 0.0001664215605633112484;
  weights(175) = 0.0001664215605633112484;
  weights(176) = 0.0001664215605633112484;
  weights(177) = 0.00016147247921740785033;
  weights(178) = 0.00016147247921740785033;
  weights(179) = 0.00016147247921740785033;
  weights(180) = 0.00060787465572585902898;
  weights(181) = 0.00060787465572585902898;
  weights(182) = 0.00060787465572585902898;
  weights(183) = 0.00060787465572585902898;
  weights(184) = 0.00060787465572585902898;
  weights(185) = 0.00060787465572585902898;
  weights(186) = 0.00029465578644783882185;
  weights(187) = 0.00029465578644783882185;
  weights(188) = 0.00029465578644783882185;
  weights(189) = 0.00029465578644783882185;
  weights(190) = 0.00029465578644783882185;
  weights(191) = 0.00029465578644783882185;
  weights(192) = 0.00086713290224743068933;
  weights(193) = 0.00086713290224743068933;
  weights(194) = 0.00086713290224743068933;
  weights(195) = 0.00086713290224743068933;
  weights(196) = 0.00086713290224743068933;
  weights(197) = 0.00086713290224743068933;
  weights(198) = 0.0020249375378802308978;
  weights(199) = 0.0020249375378802308978;
  weights(200) = 0.0020249375378802308978;
  weights(201) = 0.0020249375378802308978;
  weights(202) = 0.0020249375378802308978;
  weights(203) = 0.0020249375378802308978;
  weights(204) = 0.0021371161488564229501;
  weights(205) = 0.0021371161488564229501;
  weights(206) = 0.0021371161488564229501;
  weights(207) = 0.0021371161488564229501;
  weights(208) = 0.0021371161488564229501;
  weights(209) = 0.0021371161488564229501;
  weights(210) = 0.0014167542737901226216;
  weights(211) = 0.0014167542737901226216;
  weights(212) = 0.0014167542737901226216;
  weights(213) = 0.0014167542737901226216;
  weights(214) = 0.0014167542737901226216;
  weights(215) = 0.0014167542737901226216;
  weights(216) = 0.0013719062729418713548;
  weights(217) = 0.0013719062729418713548;
  weights(218) = 0.0013719062729418713548;
  weights(219) = 0.0013719062729418713548;
  weights(220) = 0.0013719062729418713548;
  weights(221) = 0.0013719062729418713548;
  weights(222) = 0.00023651072817752608664;
  weights(223) = 0.00023651072817752608664;
  weights(224) = 0.00023651072817752608664;
  weights(225) = 0.00023651072817752608664;
  weights(226) = 0.00023651072817752608664;
  weights(227) = 0.00023651072817752608664;
  weights(228) = 0.00068665887208050301049;
  weights(229) = 0.00068665887208050301049;
  weights(230) = 0.00068665887208050301049;
  weights(231) = 0.00068665887208050301049;
  weights(232) = 0.00068665887208050301049;
  weights(233) = 0.00068665887208050301049;
  weights(234) = 0.0027155231519975539349;
  weights(235) = 0.0027155231519975539349;
  weights(236) = 0.0027155231519975539349;
  weights(237) = 0.00021165049573030695067;
  weights(238) = 0.00021165049573030695067;
  weights(239) = 0.00021165049573030695067;
  weights(240) = 0.00021165049573030695067;
  weights(241) = 0.00021165049573030695067;
  weights(242) = 0.00021165049573030695067;
  weights(243) = 0.00053323059358192221018;
  weights(244) = 0.00053323059358192221018;
  weights(245) = 0.00053323059358192221018;
  weights(246) = 0.00053323059358192221018;
  weights(247) = 0.00053323059358192221018;
  weights(248) = 0.00053323059358192221018;
  weights(249) = 0.00069120053665585169753;
  weights(250) = 0.00069120053665585169753;
  weights(251) = 0.00069120053665585169753;
  weights(252) = 0.00069120053665585169753;
  weights(253) = 0.00069120053665585169753;
  weights(254) = 0.00069120053665585169753;
  weights(255) = 0.0018292558965134965866;
  weights(256) = 0.0018292558965134965866;
  weights(257) = 0.0018292558965134965866;
  weights(258) = 0.0018292558965134965866;
  weights(259) = 0.0018292558965134965866;
  weights(260) = 0.0018292558965134965866;
  weights(261) = 0.00260500242743329051;
  weights(262) = 0.00260500242743329051;
  weights(263) = 0.00260500242743329051;
  weights(264) = 0.00260500242743329051;
  weights(265) = 0.00260500242743329051;
  weights(266) = 0.00260500242743329051;
  weights(267) = 0.00010365528029538246787;
  weights(268) = 0.00010365528029538246787;
  weights(269) = 0.00010365528029538246787;
  weights(270) = 0.00010365528029538246787;
  weights(271) = 0.00010365528029538246787;
  weights(272) = 0.00010365528029538246787;
  weights(273) = 0.00097915814343157861824;
  weights(274) = 0.00097915814343157861824;
  weights(275) = 0.00097915814343157861824;
  weights(276) = 0.00097915814343157861824;
  weights(277) = 0.00097915814343157861824;
  weights(278) = 0.00097915814343157861824;
  weights(279) = 0.0016044612649593796919;
  weights(280) = 0.0016044612649593796919;
  weights(281) = 0.0016044612649593796919;
  weights(282) = 0.0016044612649593796919;
  weights(283) = 0.0016044612649593796919;
  weights(284) = 0.0016044612649593796919;
  weights(285) = 0.00015720757730659250576;
  weights(286) = 0.00015720757730659250576;
  weights(287) = 0.00015720757730659250576;
  weights(288) = 0.00015720757730659250576;
  weights(289) = 0.00015720757730659250576;
  weights(290) = 0.00015720757730659250576;
  weights(291) = 0.00053925727756020498064;
  weights(292) = 0.00053925727756020498064;
  weights(293) = 0.00053925727756020498064;
  weights(294) = 0.00053925727756020498064;
  weights(295) = 0.00053925727756020498064;
  weights(296) = 0.00053925727756020498064;
  weights(297) = 0.0018002134883076065328;
  weights(298) = 0.0018002134883076065328;
  weights(299) = 0.0018002134883076065328;
  weights(300) = 0.0018002134883076065328;
  weights(301) = 0.0018002134883076065328;
  weights(302) = 0.0018002134883076065328;
  weights(303) = 0.0018305957089213074733;
  weights(304) = 0.0018305957089213074733;
  weights(305) = 0.0018305957089213074733;
  weights(306) = 0.0018305957089213074733;
  weights(307) = 0.0018305957089213074733;
  weights(308) = 0.0018305957089213074733;
  weights(309) = 0.0010808561569375404847;
  weights(310) = 0.0010808561569375404847;
  weights(311) = 0.0010808561569375404847;
  weights(312) = 0.0010808561569375404847;
  weights(313) = 0.0010808561569375404847;
  weights(314) = 0.0010808561569375404847;
  weights(315) = 0.00090052813819308918236;
  weights(316) = 0.00090052813819308918236;
  weights(317) = 0.00090052813819308918236;
  weights(318) = 0.00090052813819308918236;
  weights(319) = 0.00090052813819308918236;
  weights(320) = 0.00090052813819308918236;
  weights(321) = 0.0027237796471379395469;
  weights(322) = 0.0027237796471379395469;
  weights(323) = 0.0027237796471379395469;
  weights(324) = 0.0027237796471379395469;
  weights(325) = 0.0027237796471379395469;
  weights(326) = 0.0027237796471379395469;
  weights(327) = 0.0025762802722419063384;
  weights(328) = 0.0025762802722419063384;
  weights(329) = 0.0025762802722419063384;
  weights(330) = 6.9892600762186187792e-05;
  weights(331) = 6.9892600762186187792e-05;
  weights(332) = 6.9892600762186187792e-05;
  weights(333) = 6.9892600762186187792e-05;
  weights(334) = 6.9892600762186187792e-05;
  weights(335) = 6.9892600762186187792e-05;
  weights(336) = 0.0024965025749709162002;
  weights(337) = 0.0024965025749709162002;
  weights(338) = 0.0024965025749709162002;
  weights(339) = 0.00059810059259765059343;
  weights(340) = 0.00059810059259765059343;
  weights(341) = 0.00059810059259765059343;
  weights(342) = 0.00059810059259765059343;
  weights(343) = 0.00059810059259765059343;
  weights(344) = 0.00059810059259765059343;
  weights(345) = 0.00247628291179179073;
  weights(346) = 0.00247628291179179073;
  weights(347) = 0.00247628291179179073;
  weights(348) = 0.00247628291179179073;
  weights(349) = 0.00247628291179179073;
  weights(350) = 0.00247628291179179073;
  weights(351) = 0.0021217492459270808139;
  weights(352) = 0.0021217492459270808139;
  weights(353) = 0.0021217492459270808139;
  weights(354) = 0.00044380028051230988604;
  weights(355) = 0.00044380028051230988604;
  weights(356) = 0.00044380028051230988604;
  weights(357) = 0.0025276029369482111778;
  weights(358) = 0.0025276029369482111778;
  weights(359) = 0.0025276029369482111778;
  weights(360) = 0.0025276029369482111778;
  weights(361) = 0.0025276029369482111778;
  weights(362) = 0.0025276029369482111778;
  weights(363) = 0.00030279553094960298589;
  weights(364) = 0.00030279553094960298589;
  weights(365) = 0.00030279553094960298589;
  weights(366) = 0.00030279553094960298589;
  weights(367) = 0.00030279553094960298589;
  weights(368) = 0.00030279553094960298589;
  weights(369) = 0.0026788951054618594452;
  weights(370) = 0.0026788951054618594452;
  weights(371) = 0.0026788951054618594452;
  weights(372) = 0.0026788951054618594452;
  weights(373) = 0.0026788951054618594452;
  weights(374) = 0.0026788951054618594452;
  weights(375) = 0.0011827676122501339876;
  weights(376) = 0.0011827676122501339876;
  weights(377) = 0.0011827676122501339876;
  weights(378) = 0.0011827676122501339876;
  weights(379) = 0.0011827676122501339876;
  weights(380) = 0.0011827676122501339876;
  weights(381) = 0.00031808802782248786533;
  weights(382) = 0.00031808802782248786533;
  weights(383) = 0.00031808802782248786533;
  weights(384) = 0.00031808802782248786533;
  weights(385) = 0.00031808802782248786533;
  weights(386) = 0.00031808802782248786533;
  weights(387) = 0.0020583897158791817673;
  weights(388) = 0.0020583897158791817673;
  weights(389) = 0.0020583897158791817673;
  weights(390) = 0.0020583897158791817673;
  weights(391) = 0.0020583897158791817673;
  weights(392) = 0.0020583897158791817673;
  weights(393) = 0.0023717830850862272642;
  weights(394) = 0.0023717830850862272642;
  weights(395) = 0.0023717830850862272642;
  weights(396) = 0.0023717830850862272642;
  weights(397) = 0.0023717830850862272642;
  weights(398) = 0.0023717830850862272642;
  weights(399) = 0.0015869641744859636079;
  weights(400) = 0.0015869641744859636079;
  weights(401) = 0.0015869641744859636079;
  weights(402) = 0.0023011337125740920911;
  weights(403) = 0.0023011337125740920911;
  weights(404) = 0.0023011337125740920911;
  weights(405) = 0.0023011337125740920911;
  weights(406) = 0.0023011337125740920911;
  weights(407) = 0.0023011337125740920911;
  weights(408) = 0.00064753995569478235358;
  weights(409) = 0.00064753995569478235358;
  weights(410) = 0.00064753995569478235358;
  weights(411) = 0.00011750446124028769517;
  weights(412) = 0.00011750446124028769517;
  weights(413) = 0.00011750446124028769517;
  weights(414) = 0.00011750446124028769517;
  weights(415) = 0.00011750446124028769517;
  weights(416) = 0.00011750446124028769517;
  weights(417) = 0.00011993683946555442742;
  weights(418) = 0.00011993683946555442742;
  weights(419) = 0.00011993683946555442742;
  weights(420) = 0.00011993683946555442742;
  weights(421) = 0.00011993683946555442742;
  weights(422) = 0.00011993683946555442742;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 48);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 49>() { // NOLINT
  Eigen::MatrixXd points(2, 435);
  Eigen::VectorXd weights(435);

  points(0, 0) = 0.17470985430717309028;
  points(1, 0) = 0.040008155056936299532;
  points(0, 1) = 0.78528199063589065876;
  points(1, 1) = 0.17470985430717309028;
  points(0, 2) = 0.040008155056936334226;
  points(1, 2) = 0.78528199063589076978;
  points(0, 3) = 0.78528199063589065876;
  points(1, 3) = 0.040008155056936299532;
  points(0, 4) = 0.17470985430717317355;
  points(1, 4) = 0.78528199063589065876;
  points(0, 5) = 0.040008155056936098304;
  points(1, 5) = 0.17470985430717336784;
  points(0, 6) = 0.38696505716382617601;
  points(1, 6) = 0.008662417231451845917;
  points(0, 7) = 0.6043725256047220995;
  points(1, 7) = 0.38696505716382623152;
  points(0, 8) = 0.0086624172314517799975;
  points(1, 8) = 0.60437252560472221052;
  points(0, 9) = 0.60437252560472198848;
  points(1, 9) = 0.008662417231451845917;
  points(0, 10) = 0.38696505716382623152;
  points(1, 10) = 0.6043725256047220995;
  points(0, 11) = 0.0086624172314517244864;
  points(1, 11) = 0.38696505716382645357;
  points(0, 12) = 0.12606093343540539231;
  points(1, 12) = 0.0013011091483538530199;
  points(0, 13) = 0.87263795741624072821;
  points(1, 13) = 0.12606093343540539231;
  points(0, 14) = 0.0013011091483540182523;
  points(1, 14) = 0.87263795741624083924;
  points(0, 15) = 0.87263795741624072821;
  points(1, 15) = 0.0013011091483538530199;
  points(0, 16) = 0.12606093343540547558;
  points(1, 16) = 0.87263795741624083924;
  points(0, 17) = 0.0013011091483536157964;
  points(1, 17) = 0.12606093343540572538;
  points(0, 18) = 0.17837301622963153136;
  points(1, 18) = 0.1783730162296317534;
  points(0, 19) = 0.64325396754073671524;
  points(1, 19) = 0.17837301622963158687;
  points(0, 20) = 0.17837301622963186443;
  points(1, 20) = 0.64325396754073671524;
  points(0, 21) = 0.28392495200050049675;
  points(1, 21) = 0.24562850537834585163;
  points(0, 22) = 0.47044654262115365162;
  points(1, 22) = 0.28392495200050060777;
  points(0, 23) = 0.24562850537834579612;
  points(1, 23) = 0.47044654262115381815;
  points(0, 24) = 0.47044654262115370713;
  points(1, 24) = 0.24562850537834585163;
  points(0, 25) = 0.28392495200050044124;
  points(1, 25) = 0.47044654262115381815;
  points(0, 26) = 0.24562850537834571285;
  points(1, 26) = 0.28392495200050066329;
  points(0, 27) = 0.33024826933446227439;
  points(1, 27) = 0.25074163617360928358;
  points(0, 28) = 0.41901009449192838652;
  points(1, 28) = 0.33024826933446244093;
  points(0, 29) = 0.25074163617360922807;
  points(1, 29) = 0.41901009449192855305;
  points(0, 30) = 0.41901009449192849754;
  points(1, 30) = 0.25074163617360928358;
  points(0, 31) = 0.33024826933446227439;
  points(1, 31) = 0.41901009449192855305;
  points(0, 32) = 0.25074163617360911704;
  points(1, 32) = 0.33024826933446249644;
  points(0, 33) = 0.072840653606011343535;
  points(1, 33) = 0.072840653606011634968;
  points(0, 34) = 0.85431869278797700762;
  points(1, 34) = 0.072840653606011343535;
  points(0, 35) = 0.072840653606011662724;
  points(1, 35) = 0.85431869278797711864;
  points(0, 36) = 0.25604594106815781185;
  points(1, 36) = 0.0015097374938804343069;
  points(0, 37) = 0.74244432143796168511;
  points(1, 37) = 0.25604594106815781185;
  points(0, 38) = 0.0015097374938804475342;
  points(1, 38) = 0.74244432143796201817;
  points(0, 39) = 0.74244432143796179613;
  points(1, 39) = 0.0015097374938804343069;
  points(0, 40) = 0.25604594106815775634;
  points(1, 40) = 0.74244432143796201817;
  points(0, 41) = 0.001509737493880197734;
  points(1, 41) = 0.2560459410681580894;
  points(0, 42) = 0.26039531613447619574;
  points(1, 42) = 0.10898338021292519606;
  points(0, 43) = 0.63062130365259849718;
  points(1, 43) = 0.26039531613447625125;
  points(0, 44) = 0.10898338021292519606;
  points(1, 44) = 0.63062130365259871922;
  points(0, 45) = 0.6306213036525986082;
  points(1, 45) = 0.10898338021292519606;
  points(0, 46) = 0.26039531613447625125;
  points(1, 46) = 0.6306213036525986082;
  points(0, 47) = 0.10898338021292505728;
  points(1, 47) = 0.26039531613447647329;
  points(0, 48) = 0.42898835563940701521;
  points(1, 48) = 0.14202328872118599734;
  points(0, 49) = 0.42898835563940701521;
  points(1, 49) = 0.42898835563940707072;
  points(0, 50) = 0.14202328872118591407;
  points(1, 50) = 0.42898835563940718174;
  points(0, 51) = 0.17071269637934202712;
  points(1, 51) = 0.10196871690877612471;
  points(0, 52) = 0.72731858671188187593;
  points(1, 52) = 0.17071269637934205488;
  points(0, 53) = 0.10196871690877612471;
  points(1, 53) = 0.72731858671188209797;
  points(0, 54) = 0.72731858671188187593;
  points(1, 54) = 0.10196871690877612471;
  points(0, 55) = 0.17071269637934194385;
  points(1, 55) = 0.72731858671188209797;
  points(0, 56) = 0.10196871690877595817;
  points(1, 56) = 0.17071269637934227692;
  points(0, 57) = 0.37464405809512490997;
  points(1, 57) = 0.019772288574859898241;
  points(0, 58) = 0.6055836533300152924;
  points(1, 58) = 0.37464405809512496548;
  points(0, 59) = 0.019772288574859853139;
  points(1, 59) = 0.60558365333001551445;
  points(0, 60) = 0.60558365333001518138;
  points(1, 60) = 0.019772288574859898241;
  points(0, 61) = 0.37464405809512502099;
  points(1, 61) = 0.60558365333001518138;
  points(0, 62) = 0.019772288574859797627;
  points(1, 62) = 0.37464405809512513201;
  points(0, 63) = 0.43516845729398306863;
  points(1, 63) = 0.0013541852880936801427;
  points(0, 64) = 0.56347735741792326358;
  points(1, 64) = 0.43516845729398317966;
  points(0, 65) = 0.0013541852880936122716;
  points(1, 65) = 0.56347735741792348563;
  points(0, 66) = 0.56347735741792326358;
  points(1, 66) = 0.0013541852880936801427;
  points(0, 67) = 0.43516845729398312415;
  points(1, 67) = 0.56347735741792326358;
  points(0, 68) = 0.0013541852880936122716;
  points(1, 68) = 0.43516845729398334619;
  points(0, 69) = 0.13909239122910393993;
  points(1, 69) = 0.087642852515997474172;
  points(0, 70) = 0.77326475625489854426;
  points(1, 70) = 0.13909239122910393993;
  points(0, 71) = 0.087642852515997515805;
  points(1, 71) = 0.77326475625489876631;
  points(0, 72) = 0.77326475625489854426;
  points(1, 72) = 0.087642852515997474172;
  points(0, 73) = 0.13909239122910405095;
  points(1, 73) = 0.77326475625489876631;
  points(0, 74) = 0.087642852515997279883;
  points(1, 74) = 0.13909239122910424524;
  points(0, 75) = 0.28015065430122793044;
  points(1, 75) = 0.078415578965199531081;
  points(0, 76) = 0.64143376673357244133;
  points(1, 76) = 0.28015065430122804147;
  points(0, 77) = 0.078415578965199461692;
  points(1, 77) = 0.6414337667335727744;
  points(0, 78) = 0.64143376673357255235;
  points(1, 78) = 0.078415578965199531081;
  points(0, 79) = 0.28015065430122804147;
  points(1, 79) = 0.64143376673357266338;
  points(0, 80) = 0.078415578965199350669;
  points(1, 80) = 0.280150654301228208;
  points(0, 81) = 0.34633118742755952812;
  points(1, 81) = 0.062747772638091739439;
  points(0, 82) = 0.59092103993434863529;
  points(1, 82) = 0.34633118742755958364;
  points(0, 83) = 0.062747772638091781072;
  points(1, 83) = 0.59092103993434885734;
  points(0, 84) = 0.59092103993434863529;
  points(1, 84) = 0.062747772638091739439;
  points(0, 85) = 0.34633118742755958364;
  points(1, 85) = 0.59092103993434885734;
  points(0, 86) = 0.062747772638091586783;
  points(1, 86) = 0.34633118742755980568;
  points(0, 87) = 0.38116883784557026305;
  points(1, 87) = 0.23766232430885944615;
  points(0, 88) = 0.38116883784557020753;
  points(1, 88) = 0.38116883784557037407;
  points(0, 89) = 0.23766232430885936289;
  points(1, 89) = 0.38116883784557042958;
  points(0, 90) = 0.1142447933587817932;
  points(1, 90) = 0.0071057304538391123302;
  points(0, 91) = 0.87864947618737909707;
  points(1, 91) = 0.11424479335878177932;
  points(0, 92) = 0.0071057304538392207505;
  points(1, 92) = 0.87864947618737920809;
  points(0, 93) = 0.87864947618737909707;
  points(1, 93) = 0.0071057304538391123302;
  points(0, 94) = 0.11424479335878184871;
  points(1, 94) = 0.87864947618737920809;
  points(0, 95) = 0.0071057304538388876836;
  points(1, 95) = 0.11424479335878212627;
  points(0, 96) = 0.26014778271440391899;
  points(1, 96) = 0.040890474228270141943;
  points(0, 97) = 0.698961743057325946;
  points(1, 97) = 0.26014778271440391899;
  points(0, 98) = 0.040890474228270135004;
  points(1, 98) = 0.69896174305732616805;
  points(0, 99) = 0.698961743057325946;
  points(1, 99) = 0.040890474228270141943;
  points(0, 100) = 0.26014778271440391899;
  points(1, 100) = 0.69896174305732616805;
  points(0, 101) = 0.040890474228269968471;
  points(1, 101) = 0.26014778271440419655;
  points(0, 102) = 0.3385954503697221063;
  points(1, 102) = 0.032494883027560352018;
  points(0, 103) = 0.62890966660271752087;
  points(1, 103) = 0.33859545036972216181;
  points(0, 104) = 0.032494883027560317323;
  points(1, 104) = 0.62890966660271785393;
  points(0, 105) = 0.62890966660271752087;
  points(1, 105) = 0.032494883027560352018;
  points(0, 106) = 0.33859545036972221732;
  points(1, 106) = 0.62890966660271752087;
  points(0, 107) = 0.032494883027560206301;
  points(1, 107) = 0.33859545036972238385;
  points(0, 108) = 0.44052494716069207081;
  points(1, 108) = 0.0087290442899361896795;
  points(0, 109) = 0.55074600854937183492;
  points(1, 109) = 0.44052494716069212632;
  points(0, 110) = 0.0087290442899361497808;
  points(1, 110) = 0.55074600854937194594;
  points(0, 111) = 0.55074600854937172389;
  points(1, 111) = 0.0087290442899361896795;
  points(0, 112) = 0.44052494716069212632;
  points(1, 112) = 0.55074600854937183492;
  points(0, 113) = 0.0087290442899360942697;
  points(1, 113) = 0.44052494716069234837;
  points(0, 114) = 0.085723483740763620209;
  points(1, 114) = 0.0015747586640191973701;
  points(0, 115) = 0.91270175759521710024;
  points(1, 115) = 0.085723483740763634087;
  points(0, 116) = 0.0015747586640192379193;
  points(1, 116) = 0.91270175759521743331;
  points(0, 117) = 0.91270175759521721126;
  points(1, 117) = 0.0015747586640191973701;
  points(0, 118) = 0.085723483740763661842;
  points(1, 118) = 0.91270175759521743331;
  points(0, 119) = 0.001574758664018925669;
  points(1, 119) = 0.085723483740763953276;
  points(0, 120) = 0.20073836759711854993;
  points(1, 120) = 0.20073836759711874422;
  points(0, 121) = 0.59852326480576267809;
  points(1, 121) = 0.20073836759711857769;
  points(0, 122) = 0.20073836759711866096;
  points(1, 122) = 0.59852326480576290013;
  points(0, 123) = 0.28598408663977853417;
  points(1, 123) = 0.20153220553570841411;
  points(0, 124) = 0.51248370782451302397;
  points(1, 124) = 0.28598408663977858968;
  points(0, 125) = 0.20153220553570833085;
  points(1, 125) = 0.51248370782451324601;
  points(0, 126) = 0.51248370782451302397;
  points(1, 126) = 0.20153220553570841411;
  points(0, 127) = 0.28598408663977847866;
  points(1, 127) = 0.51248370782451324601;
  points(0, 128) = 0.20153220553570827533;
  points(1, 128) = 0.2859840866397787007;
  points(0, 129) = 0.30224306485270796552;
  points(1, 129) = 0.051418163514359009614;
  points(0, 130) = 0.64633877163293296242;
  points(1, 130) = 0.30224306485270802103;
  points(0, 131) = 0.051418163514359016553;
  points(1, 131) = 0.64633877163293318446;
  points(0, 132) = 0.64633877163293307344;
  points(1, 132) = 0.051418163514359009614;
  points(0, 133) = 0.30224306485270807654;
  points(1, 133) = 0.64633877163293307344;
  points(0, 134) = 0.051418163514358877775;
  points(1, 134) = 0.30224306485270829858;
  points(0, 135) = 0.11455742572888583108;
  points(1, 135) = 0.019028748823558420955;
  points(0, 136) = 0.86641382544755574102;
  points(1, 136) = 0.11455742572888583108;
  points(0, 137) = 0.019028748823558594427;
  points(1, 137) = 0.86641382544755574102;
  points(0, 138) = 0.86641382544755574102;
  points(1, 138) = 0.019028748823558420955;
  points(0, 139) = 0.11455742572888583108;
  points(1, 139) = 0.86641382544755596307;
  points(0, 140) = 0.019028748823558157277;
  points(1, 140) = 0.11455742572888615027;
  points(0, 141) = 0.21229643001953071857;
  points(1, 141) = 0.040788059207840163256;
  points(0, 142) = 0.74691551077262918756;
  points(1, 142) = 0.21229643001953074632;
  points(0, 143) = 0.040788059207840177134;
  points(1, 143) = 0.74691551077262929859;
  points(0, 144) = 0.74691551077262907654;
  points(1, 144) = 0.040788059207840163256;
  points(0, 145) = 0.21229643001953085735;
  points(1, 145) = 0.74691551077262918756;
  points(0, 146) = 0.0407880592078400106;
  points(1, 146) = 0.21229643001953102388;
  points(0, 147) = 0.0462782231758690904;
  points(1, 147) = 0.046278223175869416528;
  points(0, 148) = 0.90744355364826145838;
  points(1, 148) = 0.046278223175869062644;
  points(0, 149) = 0.046278223175869492856;
  points(1, 149) = 0.90744355364826168042;
  points(0, 150) = 0.29714308886324791725;
  points(1, 150) = 0.29714308886324808379;
  points(0, 151) = 0.40571382227350405447;
  points(1, 151) = 0.29714308886324802828;
  points(0, 152) = 0.29714308886324791725;
  points(1, 152) = 0.40571382227350416549;
  points(0, 153) = 0.14652842970990198612;
  points(1, 153) = 0.028514611896576586014;
  points(0, 154) = 0.82495695839352145562;
  points(1, 154) = 0.14652842970990195837;
  points(0, 155) = 0.028514611896576724792;
  points(1, 155) = 0.82495695839352156664;
  points(0, 156) = 0.8249569583935213446;
  points(1, 156) = 0.028514611896576586014;
  points(0, 157) = 0.14652842970990204163;
  points(1, 157) = 0.82495695839352156664;
  points(0, 158) = 0.028514611896576350092;
  points(1, 158) = 0.14652842970990229143;
  points(0, 159) = 0.37408164610882699286;
  points(1, 159) = 0.15370865861164029198;
  points(0, 160) = 0.47220969527953282618;
  points(1, 160) = 0.37408164610882704837;
  points(0, 161) = 0.15370865861164020871;
  points(1, 161) = 0.4722096952795328817;
  points(0, 162) = 0.47220969527953271516;
  points(1, 162) = 0.15370865861164029198;
  points(0, 163) = 0.37408164610882704837;
  points(1, 163) = 0.47220969527953282618;
  points(0, 164) = 0.15370865861164018096;
  points(1, 164) = 0.3740816461088272149;
  points(0, 165) = 0.081706830399755070449;
  points(1, 165) = 0.024605320384088899544;
  points(0, 166) = 0.89368784921615607164;
  points(1, 166) = 0.081706830399755056571;
  points(0, 167) = 0.024605320384089024444;
  points(1, 167) = 0.89368784921615618266;
  points(0, 168) = 0.89368784921615607164;
  points(1, 168) = 0.024605320384088899544;
  points(0, 169) = 0.08170683039975512596;
  points(1, 169) = 0.89368784921615618266;
  points(0, 170) = 0.024605320384088663621;
  points(1, 170) = 0.081706830399755403516;
  points(0, 171) = 0.01084212176900701402;
  points(1, 171) = 0.010842121769007328005;
  points(0, 172) = 0.97831575646198554175;
  points(1, 172) = 0.010842121769007007082;
  points(0, 173) = 0.010842121769007451171;
  points(1, 173) = 0.97831575646198576379;
  points(0, 174) = 0.29414747888084469274;
  points(1, 174) = 0.023535501929982556579;
  points(0, 175) = 0.68231701918917275762;
  points(1, 175) = 0.29414747888084469274;
  points(0, 176) = 0.02353550192998254964;
  points(1, 176) = 0.68231701918917297967;
  points(0, 177) = 0.68231701918917275762;
  points(1, 177) = 0.023535501929982556579;
  points(0, 178) = 0.29414747888084474825;
  points(1, 178) = 0.68231701918917286864;
  points(0, 179) = 0.023535501929982410863;
  points(1, 179) = 0.29414747888084497029;
  points(0, 180) = 0.17507036948265153331;
  points(1, 180) = 0.13771672126012080017;
  points(0, 181) = 0.68721290925722755549;
  points(1, 181) = 0.17507036948265156107;
  points(0, 182) = 0.13771672126012080017;
  points(1, 182) = 0.68721290925722788856;
  points(0, 183) = 0.68721290925722766652;
  points(1, 183) = 0.13771672126012080017;
  points(0, 184) = 0.17507036948265153331;
  points(1, 184) = 0.68721290925722788856;
  points(0, 185) = 0.13771672126012063364;
  points(1, 185) = 0.17507036948265178311;
  points(0, 186) = 0.10285338166312903152;
  points(1, 186) = 0.10285338166312926744;
  points(0, 187) = 0.79429323667374174267;
  points(1, 187) = 0.1028533816631290454;
  points(0, 188) = 0.1028533816631292952;
  points(1, 188) = 0.79429323667374185369;
  points(0, 189) = 0.047620537805773008322;
  points(1, 189) = 0.010975310089231827063;
  points(0, 190) = 0.94140415210499506227;
  points(1, 190) = 0.047620537805773008322;
  points(0, 191) = 0.010975310089231971045;
  points(1, 191) = 0.94140415210499528431;
  points(0, 192) = 0.94140415210499517329;
  points(1, 192) = 0.010975310089231827063;
  points(0, 193) = 0.047620537805773077711;
  points(1, 193) = 0.94140415210499528431;
  points(0, 194) = 0.010975310089231540833;
  points(1, 194) = 0.047620537805773327511;
  points(0, 195) = 0.31757248151332689856;
  points(1, 195) = 0.16046565720272484845;
  points(0, 196) = 0.52196186128394828074;
  points(1, 196) = 0.31757248151332695407;
  points(0, 197) = 0.16046565720272476518;
  points(1, 197) = 0.52196186128394850279;
  points(0, 198) = 0.52196186128394828074;
  points(1, 198) = 0.16046565720272484845;
  points(0, 199) = 0.31757248151332689856;
  points(1, 199) = 0.52196186128394839177;
  points(0, 200) = 0.16046565720272470967;
  points(1, 200) = 0.31757248151332706509;
  points(0, 201) = 0.28813805399507741445;
  points(1, 201) = 0.1329492677376998;
  points(0, 202) = 0.57891267826722281331;
  points(1, 202) = 0.28813805399507746996;
  points(0, 203) = 0.13294926773769971673;
  points(1, 203) = 0.57891267826722303536;
  points(0, 204) = 0.57891267826722281331;
  points(1, 204) = 0.1329492677376998;
  points(0, 205) = 0.28813805399507746996;
  points(1, 205) = 0.57891267826722281331;
  points(0, 206) = 0.13294926773769963346;
  points(1, 206) = 0.288138053995077692;
  points(0, 207) = 0.26797088930329615586;
  points(1, 207) = 0.0087549512313114218054;
  points(0, 208) = 0.72327415946539241887;
  points(1, 208) = 0.26797088930329615586;
  points(0, 209) = 0.0087549512313114252748;
  points(1, 209) = 0.72327415946539264091;
  points(0, 210) = 0.72327415946539241887;
  points(1, 210) = 0.0087549512313114218054;
  points(0, 211) = 0.26797088930329615586;
  points(1, 211) = 0.72327415946539264091;
  points(0, 212) = 0.008754951231311286497;
  points(1, 212) = 0.26797088930329643341;
  points(0, 213) = 0.4841735634166948743;
  points(1, 213) = 0.03165287316661025141;
  points(0, 214) = 0.4841735634166948743;
  points(1, 214) = 0.48417356341669492981;
  points(0, 215) = 0.031652873166610223654;
  points(1, 215) = 0.48417356341669509634;
  points(0, 216) = 0.23937905920302687823;
  points(1, 216) = 0.020743761983356572703;
  points(0, 217) = 0.73987717881361647621;
  points(1, 217) = 0.23937905920302690599;
  points(0, 218) = 0.020743761983356645562;
  points(1, 218) = 0.73987717881361669825;
  points(0, 219) = 0.73987717881361658723;
  points(1, 219) = 0.020743761983356572703;
  points(0, 220) = 0.23937905920302693374;
  points(1, 220) = 0.73987717881361669825;
  points(0, 221) = 0.020743761983356423517;
  points(1, 221) = 0.23937905920302715579;
  points(0, 222) = 0.19185327156970308216;
  points(1, 222) = 0.019760289684074981015;
  points(0, 223) = 0.78838643874622182928;
  points(1, 223) = 0.19185327156970310991;
  points(0, 224) = 0.019760289684075060812;
  points(1, 224) = 0.78838643874622205132;
  points(0, 225) = 0.7883864387462219403;
  points(1, 225) = 0.019760289684074981015;
  points(0, 226) = 0.19185327156970310991;
  points(1, 226) = 0.78838643874622205132;
  points(0, 227) = 0.019760289684074755501;
  points(1, 227) = 0.19185327156970338747;
  points(0, 228) = 0.3873242425341849593;
  points(1, 228) = 0.042939285776867064381;
  points(0, 229) = 0.56973647168894792081;
  points(1, 229) = 0.38732424253418507032;
  points(0, 230) = 0.04293928577686700887;
  points(1, 230) = 0.56973647168894814286;
  points(0, 231) = 0.56973647168894792081;
  points(1, 231) = 0.042939285776867064381;
  points(0, 232) = 0.38732424253418501481;
  points(1, 232) = 0.56973647168894803183;
  points(0, 233) = 0.042939285776866981115;
  points(1, 233) = 0.38732424253418523685;
  points(0, 234) = 0.35353241582841082868;
  points(1, 234) = 0.11789241815829044902;
  points(0, 235) = 0.52857516601329868067;
  points(1, 235) = 0.3535324158284108842;
  points(0, 236) = 0.11789241815829043514;
  points(1, 236) = 0.52857516601329890271;
  points(0, 237) = 0.52857516601329868067;
  points(1, 237) = 0.11789241815829044902;
  points(0, 238) = 0.35353241582841077317;
  points(1, 238) = 0.52857516601329890271;
  points(0, 239) = 0.11789241815829029636;
  points(1, 239) = 0.35353241582841105073;
  points(0, 240) = 0.052177489014856109906;
  points(1, 240) = 0.025374729462583726913;
  points(0, 241) = 0.92244778152256012849;
  points(1, 241) = 0.052177489014856075211;
  points(0, 242) = 0.025374729462583900386;
  points(1, 242) = 0.92244778152256023951;
  points(0, 243) = 0.92244778152256012849;
  points(1, 243) = 0.025374729462583726913;
  points(0, 244) = 0.052177489014856193172;
  points(1, 244) = 0.92244778152256023951;
  points(0, 245) = 0.025374729462583490991;
  points(1, 245) = 0.05217748901485645685;
  points(0, 246) = 0.32370211615131394556;
  points(1, 246) = 0.093529382084846027223;
  points(0, 247) = 0.58276850176383998559;
  points(1, 247) = 0.32370211615131400107;
  points(0, 248) = 0.093529382084846013345;
  points(1, 248) = 0.58276850176384020763;
  points(0, 249) = 0.58276850176384009661;
  points(1, 249) = 0.093529382084846027223;
  points(0, 250) = 0.32370211615131400107;
  points(1, 250) = 0.58276850176384009661;
  points(0, 251) = 0.093529382084845874568;
  points(1, 251) = 0.32370211615131422311;
  points(0, 252) = 0.37205936067484862706;
  points(1, 252) = 0.0019871034880731218951;
  points(0, 253) = 0.62595353583707835643;
  points(1, 253) = 0.37205936067484862706;
  points(0, 254) = 0.0019871034880730165106;
  points(1, 254) = 0.62595353583707857847;
  points(0, 255) = 0.62595353583707824541;
  points(1, 255) = 0.0019871034880731218951;
  points(0, 256) = 0.37205936067484862706;
  points(1, 256) = 0.62595353583707835643;
  points(0, 257) = 0.0019871034880730442662;
  points(1, 257) = 0.3720593606748488491;
  points(0, 258) = 0.41369253460710492254;
  points(1, 258) = 0.10869019629350591682;
  points(0, 259) = 0.47761726909938917451;
  points(1, 259) = 0.41369253460710497805;
  points(0, 260) = 0.10869019629350590295;
  points(1, 260) = 0.47761726909938928554;
  points(0, 261) = 0.477617269099389119;
  points(1, 261) = 0.10869019629350591682;
  points(0, 262) = 0.41369253460710497805;
  points(1, 262) = 0.47761726909938923002;
  points(0, 263) = 0.10869019629350584744;
  points(1, 263) = 0.41369253460710508907;
  points(0, 264) = 0.25086544364143714692;
  points(1, 264) = 0.17490233415096362313;
  points(0, 265) = 0.57423222220759917445;
  points(1, 265) = 0.25086544364143720243;
  points(0, 266) = 0.17490233415096362313;
  points(1, 266) = 0.57423222220759939649;
  points(0, 267) = 0.57423222220759917445;
  points(1, 267) = 0.17490233415096362313;
  points(0, 268) = 0.25086544364143720243;
  points(1, 268) = 0.57423222220759939649;
  points(0, 269) = 0.17490233415096345659;
  points(1, 269) = 0.25086544364143736896;
  points(0, 270) = 0.23684770353878359384;
  points(1, 270) = 0.06696591337164849167;
  points(0, 271) = 0.69618638308956781735;
  points(1, 271) = 0.23684770353878359384;
  points(0, 272) = 0.066965913371648588814;
  points(1, 272) = 0.6961863830895680394;
  points(0, 273) = 0.69618638308956792837;
  points(1, 273) = 0.06696591337164849167;
  points(0, 274) = 0.23684770353878359384;
  points(1, 274) = 0.6961863830895680394;
  points(0, 275) = 0.066965913371648297381;
  points(1, 275) = 0.23684770353878384364;
  points(0, 276) = 0.1099576830426482188;
  points(1, 276) = 0.040979133770732201203;
  points(0, 277) = 0.84906318318661955225;
  points(1, 277) = 0.10995768304264820492;
  points(0, 278) = 0.040979133770732312225;
  points(1, 278) = 0.84906318318661966327;
  points(0, 279) = 0.84906318318661966327;
  points(1, 279) = 0.040979133770732201203;
  points(0, 280) = 0.10995768304264835757;
  points(1, 280) = 0.84906318318661966327;
  points(0, 281) = 0.040979133770731979158;
  points(1, 281) = 0.10995768304264852411;
  points(0, 282) = 0.42973190289518153895;
  points(1, 282) = 0.024466415075845762001;
  points(0, 283) = 0.54580168202897272334;
  points(1, 283) = 0.42973190289518164997;
  points(0, 284) = 0.024466415075845737714;
  points(1, 284) = 0.54580168202897283436;
  points(0, 285) = 0.54580168202897272334;
  points(1, 285) = 0.024466415075845762001;
  points(0, 286) = 0.42973190289518164997;
  points(1, 286) = 0.54580168202897272334;
  points(0, 287) = 0.024466415075845682203;
  points(1, 287) = 0.4297319028951818165;
  points(0, 288) = 0.14376803743337249197;
  points(1, 288) = 0.056688088341008406601;
  points(0, 289) = 0.79954387422561912224;
  points(1, 289) = 0.14376803743337249197;
  points(0, 290) = 0.056688088341008524562;
  points(1, 290) = 0.79954387422561923326;
  points(0, 291) = 0.79954387422561912224;
  points(1, 291) = 0.056688088341008406601;
  points(0, 292) = 0.14376803743337257524;
  points(1, 292) = 0.79954387422561923326;
  points(0, 293) = 0.056688088341008205373;
  points(1, 293) = 0.14376803743337282504;
  points(0, 294) = 0.077410677998690766155;
  points(1, 294) = 0.0096524833615463691283;
  points(0, 295) = 0.91293683863976282655;
  points(1, 295) = 0.077410677998690780033;
  points(0, 296) = 0.0096524833615465599479;
  points(1, 296) = 0.91293683863976293758;
  points(0, 297) = 0.91293683863976293758;
  points(1, 297) = 0.0096524833615463691283;
  points(0, 298) = 0.077410677998690835544;
  points(1, 298) = 0.91293683863976293758;
  points(0, 299) = 0.0096524833615461505532;
  points(1, 299) = 0.077410677998691099222;
  points(0, 300) = 0.15570600566534689713;
  points(1, 300) = 0.011099567627321184002;
  points(0, 301) = 0.83319442670733179224;
  points(1, 301) = 0.15570600566534692488;
  points(0, 302) = 0.01109956762732122737;
  points(1, 302) = 0.8331944267073321253;
  points(0, 303) = 0.83319442670733201428;
  points(1, 303) = 0.011099567627321184002;
  points(0, 304) = 0.15570600566534686937;
  points(1, 304) = 0.8331944267073321253;
  points(0, 305) = 0.011099567627320949814;
  points(1, 305) = 0.15570600566534720244;
  points(0, 306) = 0.31285330244965120494;
  points(1, 306) = 0.0019740717879364734315;
  points(0, 307) = 0.68517262576241222405;
  points(1, 307) = 0.31285330244965126045;
  points(0, 308) = 0.0019740717879365154985;
  points(1, 308) = 0.68517262576241244609;
  points(0, 309) = 0.68517262576241233507;
  points(1, 309) = 0.0019740717879364734315;
  points(0, 310) = 0.31285330244965126045;
  points(1, 310) = 0.68517262576241244609;
  points(0, 311) = 0.0019740717879363212095;
  points(1, 311) = 0.31285330244965153801;
  points(0, 312) = 0.026090266138179815658;
  points(1, 312) = 0.011058867280573288563;
  points(0, 313) = 0.96285086658124674486;
  points(1, 313) = 0.026090266138179780964;
  points(0, 314) = 0.011058867280573425607;
  points(1, 314) = 0.96285086658124707792;
  points(0, 315) = 0.96285086658124685588;
  points(1, 315) = 0.011058867280573288563;
  points(0, 316) = 0.026090266138179940558;
  points(1, 316) = 0.96285086658124707792;
  points(0, 317) = 0.011058867280572984987;
  points(1, 317) = 0.026090266138180100153;
  points(0, 318) = 0.16567286081799156849;
  points(1, 318) = 0.0024625444223661933398;
  points(0, 319) = 0.83186459475964225074;
  points(1, 319) = 0.16567286081799156849;
  points(0, 320) = 0.0024625444223662640297;
  points(1, 320) = 0.83186459475964236177;
  points(0, 321) = 0.83186459475964213972;
  points(1, 321) = 0.0024625444223661933398;
  points(0, 322) = 0.16567286081799159625;
  points(1, 322) = 0.83186459475964236177;
  points(0, 323) = 0.002462544422365986474;
  points(1, 323) = 0.16567286081799192932;
  points(0, 324) = 0.49326119556605269034;
  points(1, 324) = 0.013477608867894577682;
  points(0, 325) = 0.49326119556605274585;
  points(1, 325) = 0.49326119556605280136;
  points(0, 326) = 0.013477608867894536049;
  points(1, 326) = 0.49326119556605291239;
  points(0, 327) = 0.074225754676311359037;
  points(1, 327) = 0.046395012982637394428;
  points(0, 328) = 0.87937923234105119796;
  points(1, 328) = 0.074225754676311372915;
  points(0, 329) = 0.046395012982637484633;
  points(1, 329) = 0.87937923234105142001;
  points(0, 330) = 0.87937923234105130899;
  points(1, 330) = 0.046395012982637394428;
  points(0, 331) = 0.074225754676311428426;
  points(1, 331) = 0.87937923234105142001;
  points(0, 332) = 0.04639501298263713075;
  points(1, 332) = 0.074225754676311692104;
  points(0, 333) = 0.028833917237014030505;
  points(1, 333) = 0.0020785999248741984791;
  points(0, 334) = 0.96908748283811174673;
  points(1, 334) = 0.028833917237014051321;
  points(0, 335) = 0.0020785999248743025625;
  points(1, 335) = 0.96908748283811185775;
  points(0, 336) = 0.96908748283811174673;
  points(1, 336) = 0.0020785999248741984791;
  points(0, 337) = 0.028833917237014172752;
  points(1, 337) = 0.96908748283811185775;
  points(0, 338) = 0.0020785999248738983719;
  points(1, 338) = 0.02883391723701437051;
  points(0, 339) = 0.18682266067231506623;
  points(1, 339) = 0.068353296798322041306;
  points(0, 340) = 0.74482404252936285083;
  points(1, 340) = 0.18682266067231506623;
  points(0, 341) = 0.06835329679832213845;
  points(1, 341) = 0.74482404252936296185;
  points(0, 342) = 0.74482404252936285083;
  points(1, 342) = 0.068353296798322041306;
  points(0, 343) = 0.18682266067231517725;
  points(1, 343) = 0.74482404252936296185;
  points(0, 344) = 0.068353296798321819261;
  points(1, 344) = 0.18682266067231531603;
  points(0, 345) = 0.32708392818568732263;
  points(1, 345) = 0.010676304302980456004;
  points(0, 346) = 0.662239767511332178;
  points(1, 346) = 0.32708392818568743365;
  points(0, 347) = 0.010676304302980499372;
  points(1, 347) = 0.66223976751133228902;
  points(0, 348) = 0.662239767511332178;
  points(1, 348) = 0.010676304302980456004;
  points(0, 349) = 0.32708392818568748917;
  points(1, 349) = 0.662239767511332178;
  points(0, 350) = 0.010676304302980277328;
  points(1, 350) = 0.3270839281856876557;
  points(0, 351) = 0.10389110343382677859;
  points(1, 351) = 0.069169283463613312479;
  points(0, 352) = 0.82693961310255992281;
  points(1, 352) = 0.10389110343382680635;
  points(0, 353) = 0.069169283463613395746;
  points(1, 353) = 0.82693961310256003383;
  points(0, 354) = 0.82693961310255992281;
  points(1, 354) = 0.069169283463613312479;
  points(0, 355) = 0.10389110343382684798;
  points(1, 355) = 0.82693961310256003383;
  points(0, 356) = 0.069169283463613090435;
  points(1, 356) = 0.10389110343382707002;
  points(0, 357) = 0.21553428824295461919;
  points(1, 357) = 0.10066880943464372178;
  points(0, 358) = 0.68379690232240153414;
  points(1, 358) = 0.21553428824295464694;
  points(0, 359) = 0.10066880943464373566;
  points(1, 359) = 0.6837969023224018672;
  points(0, 360) = 0.68379690232240164516;
  points(1, 360) = 0.10066880943464372178;
  points(0, 361) = 0.21553428824295456367;
  points(1, 361) = 0.6837969023224018672;
  points(0, 362) = 0.10066880943464352749;
  points(1, 362) = 0.21553428824295481347;
  points(0, 363) = 0.40573247197552242405;
  points(1, 363) = 0.1885350560489550964;
  points(0, 364) = 0.40573247197552242405;
  points(1, 364) = 0.40573247197552259058;
  points(0, 365) = 0.18853505604895498537;
  points(1, 365) = 0.40573247197552264609;
  points(0, 366) = 0.34315161302738994564;
  points(1, 366) = 0.20121793752844427394;
  points(0, 367) = 0.45563044944416586368;
  points(1, 367) = 0.34315161302739000115;
  points(0, 368) = 0.20121793752844419068;
  points(1, 368) = 0.4556304494441659747;
  points(0, 369) = 0.45563044944416580817;
  points(1, 369) = 0.20121793752844427394;
  points(0, 370) = 0.34315161302738994564;
  points(1, 370) = 0.45563044944416586368;
  points(0, 371) = 0.20121793752844413516;
  points(1, 371) = 0.34315161302739016769;
  points(0, 372) = 0.22240875872332543928;
  points(1, 372) = 0.14345324849263688116;
  points(0, 373) = 0.63413799278403770732;
  points(1, 373) = 0.22240875872332546703;
  points(0, 374) = 0.14345324849263685341;
  points(1, 374) = 0.63413799278403792936;
  points(0, 375) = 0.63413799278403770732;
  points(1, 375) = 0.14345324849263688116;
  points(0, 376) = 0.22240875872332538377;
  points(1, 376) = 0.63413799278403792936;
  points(0, 377) = 0.14345324849263668687;
  points(1, 377) = 0.22240875872332563357;
  points(0, 378) = 0.053480976914394226518;
  points(1, 378) = 0.0021251605376943244648;
  points(0, 379) = 0.94439386254791135578;
  points(1, 379) = 0.053480976914394205701;
  points(0, 380) = 0.0021251605376945703618;
  points(1, 380) = 0.9443938625479114668;
  points(0, 381) = 0.9443938625479114668;
  points(1, 381) = 0.0021251605376943244648;
  points(0, 382) = 0.053480976914394406929;
  points(1, 382) = 0.9443938625479114668;
  points(0, 383) = 0.0021251605376940638226;
  points(1, 383) = 0.05348097691439458734;
  points(0, 384) = 0.13042164492513144691;
  points(1, 384) = 0.13042164492513169671;
  points(0, 385) = 0.73915671014973682862;
  points(1, 385) = 0.13042164492513144691;
  points(0, 386) = 0.13042164492513175222;
  points(1, 386) = 0.73915671014973693964;
  points(0, 387) = 0.43878896884502693876;
  points(1, 387) = 0.051422502449402045233;
  points(0, 388) = 0.50978852870557100907;
  points(1, 388) = 0.43878896884502699427;
  points(0, 389) = 0.05142250244940199666;
  points(1, 389) = 0.50978852870557123111;
  points(0, 390) = 0.50978852870557100907;
  points(1, 390) = 0.051422502449402045233;
  points(0, 391) = 0.43878896884502704978;
  points(1, 391) = 0.50978852870557100907;
  points(0, 392) = 0.051422502449401968905;
  points(1, 392) = 0.43878896884502721631;
  points(0, 393) = 0.46143480563029626307;
  points(1, 393) = 0.077130388739407515497;
  points(0, 394) = 0.46143480563029626307;
  points(1, 394) = 0.46143480563029631858;
  points(0, 395) = 0.077130388739407446108;
  points(1, 395) = 0.4614348056302964296;
  points(0, 396) = 0.027573960243111220181;
  points(1, 396) = 0.027573960243111511614;
  points(0, 397) = 0.94485207951377725433;
  points(1, 397) = 0.027573960243111188956;
  points(0, 398) = 0.027573960243111594881;
  points(1, 398) = 0.94485207951377747637;
  points(0, 399) = 0.23184244537547393783;
  points(1, 399) = 0.23184244537547413212;
  points(0, 400) = 0.53631510924905201332;
  points(1, 400) = 0.23184244537547399334;
  points(0, 401) = 0.23184244537547404885;
  points(1, 401) = 0.53631510924905212434;
  points(0, 402) = 0.35172177662777143192;
  points(1, 402) = 0.29655644674445713616;
  points(0, 403) = 0.35172177662777137641;
  points(1, 403) = 0.35172177662777154294;
  points(0, 404) = 0.29655644674445702513;
  points(1, 404) = 0.35172177662777159846;
  points(0, 405) = 0.0022124213099817542465;
  points(1, 405) = 0.0022124213099820608588;
  points(0, 406) = 0.99557515738003621308;
  points(1, 406) = 0.0022124213099817403687;
  points(0, 407) = 0.0022124213099821710138;
  points(1, 407) = 0.99557515738003632411;
  points(0, 408) = 0.39193210137555584138;
  points(1, 408) = 0.078152632925578252587;
  points(0, 409) = 0.52991526569886593379;
  points(1, 409) = 0.3919321013755559524;
  points(0, 410) = 0.078152632925578169321;
  points(1, 410) = 0.52991526569886615583;
  points(0, 411) = 0.52991526569886593379;
  points(1, 411) = 0.078152632925578252587;
  points(0, 412) = 0.39193210137555584138;
  points(1, 412) = 0.52991526569886604481;
  points(0, 413) = 0.078152632925578141565;
  points(1, 413) = 0.39193210137555606343;
  points(0, 414) = 0.21108217989703456641;
  points(1, 414) = 0.0064969244459217980261;
  points(0, 415) = 0.78242089565704364684;
  points(1, 415) = 0.21108217989703459416;
  points(0, 416) = 0.0064969244459218700172;
  points(1, 416) = 0.78242089565704375786;
  points(0, 417) = 0.78242089565704353582;
  points(1, 417) = 0.0064969244459217980261;
  points(0, 418) = 0.21108217989703459416;
  points(1, 418) = 0.78242089565704375786;
  points(0, 419) = 0.006496924445921620217;
  points(1, 419) = 0.21108217989703487172;
  points(0, 420) = 0.011709857310951757997;
  points(1, 420) = 0.0020903064191528592311;
  points(0, 421) = 0.98619983626989538017;
  points(1, 421) = 0.011709857310951751058;
  points(0, 422) = 0.0020903064191530318361;
  points(1, 422) = 0.98619983626989549119;
  points(0, 423) = 0.98619983626989538017;
  points(1, 423) = 0.0020903064191528592311;
  points(0, 424) = 0.011709857310951810039;
  points(1, 424) = 0.98619983626989549119;
  points(0, 425) = 0.0020903064191525955531;
  points(1, 425) = 0.011709857310952071982;
  points(0, 426) = 0.49878956469151281006;
  points(1, 426) = 0.002420870616974330012;
  points(0, 427) = 0.49878956469151286557;
  points(1, 427) = 0.49878956469151292108;
  points(0, 428) = 0.0024208706169742411074;
  points(1, 428) = 0.49878956469151308761;
  points(0, 429) = 0.20638335375998984045;
  points(1, 429) = 0.00013986351814753250167;
  points(0, 430) = 0.79347678272186250581;
  points(1, 430) = 0.2063833537599898682;
  points(0, 431) = 0.00013986351814754272027;
  points(1, 431) = 0.79347678272186283888;
  points(0, 432) = 0.79347678272186261683;
  points(1, 432) = 0.00013986351814753250167;
  points(0, 433) = 0.20638335375998978494;
  points(1, 433) = 0.79347678272186283888;
  points(0, 434) = 0.00013986351814734843124;
  points(1, 434) = 0.206383353759990118;

  weights(0) = 0.00075897469137541149868;
  weights(1) = 0.00075897469137541149868;
  weights(2) = 0.00075897469137541149868;
  weights(3) = 0.00075897469137541149868;
  weights(4) = 0.00075897469137541149868;
  weights(5) = 0.00075897469137541149868;
  weights(6) = 0.00048201815444351122156;
  weights(7) = 0.00048201815444351122156;
  weights(8) = 0.00048201815444351122156;
  weights(9) = 0.00048201815444351122156;
  weights(10) = 0.00048201815444351122156;
  weights(11) = 0.00048201815444351122156;
  weights(12) = 0.00014067518326609995878;
  weights(13) = 0.00014067518326609995878;
  weights(14) = 0.00014067518326609995878;
  weights(15) = 0.00014067518326609995878;
  weights(16) = 0.00014067518326609995878;
  weights(17) = 0.00014067518326609995878;
  weights(18) = 0.0016149388372262440689;
  weights(19) = 0.0016149388372262440689;
  weights(20) = 0.0016149388372262440689;
  weights(21) = 0.002343110668732560891;
  weights(22) = 0.002343110668732560891;
  weights(23) = 0.002343110668732560891;
  weights(24) = 0.002343110668732560891;
  weights(25) = 0.002343110668732560891;
  weights(26) = 0.002343110668732560891;
  weights(27) = 0.0022589494991916104702;
  weights(28) = 0.0022589494991916104702;
  weights(29) = 0.0022589494991916104702;
  weights(30) = 0.0022589494991916104702;
  weights(31) = 0.0022589494991916104702;
  weights(32) = 0.0022589494991916104702;
  weights(33) = 0.00078954589300919101203;
  weights(34) = 0.00078954589300919101203;
  weights(35) = 0.00078954589300919101203;
  weights(36) = 0.00021320674064960955956;
  weights(37) = 0.00021320674064960955956;
  weights(38) = 0.00021320674064960955956;
  weights(39) = 0.00021320674064960955956;
  weights(40) = 0.00021320674064960955956;
  weights(41) = 0.00021320674064960955956;
  weights(42) = 0.0016234183150526104722;
  weights(43) = 0.0016234183150526104722;
  weights(44) = 0.0016234183150526104722;
  weights(45) = 0.0016234183150526104722;
  weights(46) = 0.0016234183150526104722;
  weights(47) = 0.0016234183150526104722;
  weights(48) = 0.0019654527394101198486;
  weights(49) = 0.0019654527394101198486;
  weights(50) = 0.0019654527394101198486;
  weights(51) = 0.0013556749468707231764;
  weights(52) = 0.0013556749468707231764;
  weights(53) = 0.0013556749468707231764;
  weights(54) = 0.0013556749468707231764;
  weights(55) = 0.0013556749468707231764;
  weights(56) = 0.0013556749468707231764;
  weights(57) = 0.00081637911347123013131;
  weights(58) = 0.00081637911347123013131;
  weights(59) = 0.00081637911347123013131;
  weights(60) = 0.00081637911347123013131;
  weights(61) = 0.00081637911347123013131;
  weights(62) = 0.00081637911347123013131;
  weights(63) = 0.0002395150880895178711;
  weights(64) = 0.0002395150880895178711;
  weights(65) = 0.0002395150880895178711;
  weights(66) = 0.0002395150880895178711;
  weights(67) = 0.0002395150880895178711;
  weights(68) = 0.0002395150880895178711;
  weights(69) = 0.0013001359147194163201;
  weights(70) = 0.0013001359147194163201;
  weights(71) = 0.0013001359147194163201;
  weights(72) = 0.0013001359147194163201;
  weights(73) = 0.0013001359147194163201;
  weights(74) = 0.0013001359147194163201;
  weights(75) = 0.0015369038310028759406;
  weights(76) = 0.0015369038310028759406;
  weights(77) = 0.0015369038310028759406;
  weights(78) = 0.0015369038310028759406;
  weights(79) = 0.0015369038310028759406;
  weights(80) = 0.0015369038310028759406;
  weights(81) = 0.0014939099251136487428;
  weights(82) = 0.0014939099251136487428;
  weights(83) = 0.0014939099251136487428;
  weights(84) = 0.0014939099251136487428;
  weights(85) = 0.0014939099251136487428;
  weights(86) = 0.0014939099251136487428;
  weights(87) = 0.0024979296124830832095;
  weights(88) = 0.0024979296124830832095;
  weights(89) = 0.0024979296124830832095;
  weights(90) = 0.00034629567483927933737;
  weights(91) = 0.00034629567483927933737;
  weights(92) = 0.00034629567483927933737;
  weights(93) = 0.00034629567483927933737;
  weights(94) = 0.00034629567483927933737;
  weights(95) = 0.00034629567483927933737;
  weights(96) = 0.0011320947479482943842;
  weights(97) = 0.0011320947479482943842;
  weights(98) = 0.0011320947479482943842;
  weights(99) = 0.0011320947479482943842;
  weights(100) = 0.0011320947479482943842;
  weights(101) = 0.0011320947479482943842;
  weights(102) = 0.0010841809686356963013;
  weights(103) = 0.0010841809686356963013;
  weights(104) = 0.0010841809686356963013;
  weights(105) = 0.0010841809686356963013;
  weights(106) = 0.0010841809686356963013;
  weights(107) = 0.0010841809686356963013;
  weights(108) = 0.00063016724123781200657;
  weights(109) = 0.00063016724123781200657;
  weights(110) = 0.00063016724123781200657;
  weights(111) = 0.00063016724123781200657;
  weights(112) = 0.00063016724123781200657;
  weights(113) = 0.00063016724123781200657;
  weights(114) = 0.00015096400272101917006;
  weights(115) = 0.00015096400272101917006;
  weights(116) = 0.00015096400272101917006;
  weights(117) = 0.00015096400272101917006;
  weights(118) = 0.00015096400272101917006;
  weights(119) = 0.00015096400272101917006;
  weights(120) = 0.0020389594514398654349;
  weights(121) = 0.0020389594514398654349;
  weights(122) = 0.0020389594514398654349;
  weights(123) = 0.0022808115137281583136;
  weights(124) = 0.0022808115137281583136;
  weights(125) = 0.0022808115137281583136;
  weights(126) = 0.0022808115137281583136;
  weights(127) = 0.0022808115137281583136;
  weights(128) = 0.0022808115137281583136;
  weights(129) = 0.0013215713819515362715;
  weights(130) = 0.0013215713819515362715;
  weights(131) = 0.0013215713819515362715;
  weights(132) = 0.0013215713819515362715;
  weights(133) = 0.0013215713819515362715;
  weights(134) = 0.0013215713819515362715;
  weights(135) = 0.00056572996464172235331;
  weights(136) = 0.00056572996464172235331;
  weights(137) = 0.00056572996464172235331;
  weights(138) = 0.00056572996464172235331;
  weights(139) = 0.00056572996464172235331;
  weights(140) = 0.00056572996464172235331;
  weights(141) = 0.0010544365941909401158;
  weights(142) = 0.0010544365941909401158;
  weights(143) = 0.0010544365941909401158;
  weights(144) = 0.0010544365941909401158;
  weights(145) = 0.0010544365941909401158;
  weights(146) = 0.0010544365941909401158;
  weights(147) = 0.00058589327413724619741;
  weights(148) = 0.00058589327413724619741;
  weights(149) = 0.00058589327413724619741;
  weights(150) = 0.0025420268789960241522;
  weights(151) = 0.0025420268789960241522;
  weights(152) = 0.0025420268789960241522;
  weights(153) = 0.00078040935056066375146;
  weights(154) = 0.00078040935056066375146;
  weights(155) = 0.00078040935056066375146;
  weights(156) = 0.00078040935056066375146;
  weights(157) = 0.00078040935056066375146;
  weights(158) = 0.00078040935056066375146;
  weights(159) = 0.0023154255562051811665;
  weights(160) = 0.0023154255562051811665;
  weights(161) = 0.0023154255562051811665;
  weights(162) = 0.0023154255562051811665;
  weights(163) = 0.0023154255562051811665;
  weights(164) = 0.0023154255562051811665;
  weights(165) = 0.00058241891226169838561;
  weights(166) = 0.00058241891226169838561;
  weights(167) = 0.00058241891226169838561;
  weights(168) = 0.00058241891226169838561;
  weights(169) = 0.00058241891226169838561;
  weights(170) = 0.00058241891226169838561;
  weights(171) = 0.00014549671989562667617;
  weights(172) = 0.00014549671989562667617;
  weights(173) = 0.00014549671989562667617;
  weights(174) = 0.00095392379355640414922;
  weights(175) = 0.00095392379355640414922;
  weights(176) = 0.00095392379355640414922;
  weights(177) = 0.00095392379355640414922;
  weights(178) = 0.00095392379355640414922;
  weights(179) = 0.00095392379355640414922;
  weights(180) = 0.0018103679665177228528;
  weights(181) = 0.0018103679665177228528;
  weights(182) = 0.0018103679665177228528;
  weights(183) = 0.0018103679665177228528;
  weights(184) = 0.0018103679665177228528;
  weights(185) = 0.0018103679665177228528;
  weights(186) = 0.0012339913193696132581;
  weights(187) = 0.0012339913193696132581;
  weights(188) = 0.0012339913193696132581;
  weights(189) = 0.00030235295830566749414;
  weights(190) = 0.00030235295830566749414;
  weights(191) = 0.00030235295830566749414;
  weights(192) = 0.00030235295830566749414;
  weights(193) = 0.00030235295830566749414;
  weights(194) = 0.00030235295830566749414;
  weights(195) = 0.0022357890144112865793;
  weights(196) = 0.0022357890144112865793;
  weights(197) = 0.0022357890144112865793;
  weights(198) = 0.0022357890144112865793;
  weights(199) = 0.0022357890144112865793;
  weights(200) = 0.0022357890144112865793;
  weights(201) = 0.0021608932779722824467;
  weights(202) = 0.0021608932779722824467;
  weights(203) = 0.0021608932779722824467;
  weights(204) = 0.0021608932779722824467;
  weights(205) = 0.0021608932779722824467;
  weights(206) = 0.0021608932779722824467;
  weights(207) = 0.00059172298400143321599;
  weights(208) = 0.00059172298400143321599;
  weights(209) = 0.00059172298400143321599;
  weights(210) = 0.00059172298400143321599;
  weights(211) = 0.00059172298400143321599;
  weights(212) = 0.00059172298400143321599;
  weights(213) = 0.001223777445937578208;
  weights(214) = 0.001223777445937578208;
  weights(215) = 0.001223777445937578208;
  weights(216) = 0.00085492305962956381942;
  weights(217) = 0.00085492305962956381942;
  weights(218) = 0.00085492305962956381942;
  weights(219) = 0.00085492305962956381942;
  weights(220) = 0.00085492305962956381942;
  weights(221) = 0.00085492305962956381942;
  weights(222) = 0.00076303338876598466624;
  weights(223) = 0.00076303338876598466624;
  weights(224) = 0.00076303338876598466624;
  weights(225) = 0.00076303338876598466624;
  weights(226) = 0.00076303338876598466624;
  weights(227) = 0.00076303338876598466624;
  weights(228) = 0.0013764510347317954544;
  weights(229) = 0.0013764510347317954544;
  weights(230) = 0.0013764510347317954544;
  weights(231) = 0.0013764510347317954544;
  weights(232) = 0.0013764510347317954544;
  weights(233) = 0.0013764510347317954544;
  weights(234) = 0.0021816136183956239859;
  weights(235) = 0.0021816136183956239859;
  weights(236) = 0.0021816136183956239859;
  weights(237) = 0.0021816136183956239859;
  weights(238) = 0.0021816136183956239859;
  weights(239) = 0.0021816136183956239859;
  weights(240) = 0.00048314267811627671688;
  weights(241) = 0.00048314267811627671688;
  weights(242) = 0.00048314267811627671688;
  weights(243) = 0.00048314267811627671688;
  weights(244) = 0.00048314267811627671688;
  weights(245) = 0.00048314267811627671688;
  weights(246) = 0.0018907763340343234672;
  weights(247) = 0.0018907763340343234672;
  weights(248) = 0.0018907763340343234672;
  weights(249) = 0.0018907763340343234672;
  weights(250) = 0.0018907763340343234672;
  weights(251) = 0.0018907763340343234672;
  weights(252) = 0.00030178465637346543618;
  weights(253) = 0.00030178465637346543618;
  weights(254) = 0.00030178465637346543618;
  weights(255) = 0.00030178465637346543618;
  weights(256) = 0.00030178465637346543618;
  weights(257) = 0.00030178465637346543618;
  weights(258) = 0.0021275819804194820613;
  weights(259) = 0.0021275819804194820613;
  weights(260) = 0.0021275819804194820613;
  weights(261) = 0.0021275819804194820613;
  weights(262) = 0.0021275819804194820613;
  weights(263) = 0.0021275819804194820613;
  weights(264) = 0.0024245266612045804355;
  weights(265) = 0.0024245266612045804355;
  weights(266) = 0.0024245266612045804355;
  weights(267) = 0.0024245266612045804355;
  weights(268) = 0.0024245266612045804355;
  weights(269) = 0.0024245266612045804355;
  weights(270) = 0.0015127459076675808716;
  weights(271) = 0.0015127459076675808716;
  weights(272) = 0.0015127459076675808716;
  weights(273) = 0.0015127459076675808716;
  weights(274) = 0.0015127459076675808716;
  weights(275) = 0.0015127459076675808716;
  weights(276) = 0.00091513295547460040552;
  weights(277) = 0.00091513295547460040552;
  weights(278) = 0.00091513295547460040552;
  weights(279) = 0.00091513295547460040552;
  weights(280) = 0.00091513295547460040552;
  weights(281) = 0.00091513295547460040552;
  weights(282) = 0.0011556455726362425268;
  weights(283) = 0.0011556455726362425268;
  weights(284) = 0.0011556455726362425268;
  weights(285) = 0.0011556455726362425268;
  weights(286) = 0.0011556455726362425268;
  weights(287) = 0.0011556455726362425268;
  weights(288) = 0.0011488090641465537219;
  weights(289) = 0.0011488090641465537219;
  weights(290) = 0.0011488090641465537219;
  weights(291) = 0.0011488090641465537219;
  weights(292) = 0.0011488090641465537219;
  weights(293) = 0.0011488090641465537219;
  weights(294) = 0.00038687130072766027925;
  weights(295) = 0.00038687130072766027925;
  weights(296) = 0.00038687130072766027925;
  weights(297) = 0.00038687130072766027925;
  weights(298) = 0.00038687130072766027925;
  weights(299) = 0.00038687130072766027925;
  weights(300) = 0.00055455539533163535331;
  weights(301) = 0.00055455539533163535331;
  weights(302) = 0.00055455539533163535331;
  weights(303) = 0.00055455539533163535331;
  weights(304) = 0.00055455539533163535331;
  weights(305) = 0.00055455539533163535331;
  weights(306) = 0.00029586400353937502249;
  weights(307) = 0.00029586400353937502249;
  weights(308) = 0.00029586400353937502249;
  weights(309) = 0.00029586400353937502249;
  weights(310) = 0.00029586400353937502249;
  weights(311) = 0.00029586400353937502249;
  weights(312) = 0.00023316453916991279681;
  weights(313) = 0.00023316453916991279681;
  weights(314) = 0.00023316453916991279681;
  weights(315) = 0.00023316453916991279681;
  weights(316) = 0.00023316453916991279681;
  weights(317) = 0.00023316453916991279681;
  weights(318) = 0.00025302725710708650437;
  weights(319) = 0.00025302725710708650437;
  weights(320) = 0.00025302725710708650437;
  weights(321) = 0.00025302725710708650437;
  weights(322) = 0.00025302725710708650437;
  weights(323) = 0.00025302725710708650437;
  weights(324) = 0.00084173558839292284862;
  weights(325) = 0.00084173558839292284862;
  weights(326) = 0.00084173558839292284862;
  weights(327) = 0.00077310262179512375703;
  weights(328) = 0.00077310262179512375703;
  weights(329) = 0.00077310262179512375703;
  weights(330) = 0.00077310262179512375703;
  weights(331) = 0.00077310262179512375703;
  weights(332) = 0.00077310262179512375703;
  weights(333) = 0.00011190838626353129183;
  weights(334) = 0.00011190838626353129183;
  weights(335) = 0.00011190838626353129183;
  weights(336) = 0.00011190838626353129183;
  weights(337) = 0.00011190838626353129183;
  weights(338) = 0.00011190838626353129183;
  weights(339) = 0.0014780925919469867311;
  weights(340) = 0.0014780925919469867311;
  weights(341) = 0.0014780925919469867311;
  weights(342) = 0.0014780925919469867311;
  weights(343) = 0.0014780925919469867311;
  weights(344) = 0.0014780925919469867311;
  weights(345) = 0.00071452092458510851718;
  weights(346) = 0.00071452092458510851718;
  weights(347) = 0.00071452092458510851718;
  weights(348) = 0.00071452092458510851718;
  weights(349) = 0.00071452092458510851718;
  weights(350) = 0.00071452092458510851718;
  weights(351) = 0.0010729346742087936088;
  weights(352) = 0.0010729346742087936088;
  weights(353) = 0.0010729346742087936088;
  weights(354) = 0.0010729346742087936088;
  weights(355) = 0.0010729346742087936088;
  weights(356) = 0.0010729346742087936088;
  weights(357) = 0.0017923837097284971501;
  weights(358) = 0.0017923837097284971501;
  weights(359) = 0.0017923837097284971501;
  weights(360) = 0.0017923837097284971501;
  weights(361) = 0.0017923837097284971501;
  weights(362) = 0.0017923837097284971501;
  weights(363) = 0.0026827112703014031718;
  weights(364) = 0.0026827112703014031718;
  weights(365) = 0.0026827112703014031718;
  weights(366) = 0.0027263678891136160047;
  weights(367) = 0.0027263678891136160047;
  weights(368) = 0.0027263678891136160047;
  weights(369) = 0.0027263678891136160047;
  weights(370) = 0.0027263678891136160047;
  weights(371) = 0.0027263678891136160047;
  weights(372) = 0.0021908328878285812484;
  weights(373) = 0.0021908328878285812484;
  weights(374) = 0.0021908328878285812484;
  weights(375) = 0.0021908328878285812484;
  weights(376) = 0.0021908328878285812484;
  weights(377) = 0.0021908328878285812484;
  weights(378) = 0.00015358726798222802046;
  weights(379) = 0.00015358726798222802046;
  weights(380) = 0.00015358726798222802046;
  weights(381) = 0.00015358726798222802046;
  weights(382) = 0.00015358726798222802046;
  weights(383) = 0.00015358726798222802046;
  weights(384) = 0.0017496340158808336689;
  weights(385) = 0.0017496340158808336689;
  weights(386) = 0.0017496340158808336689;
  weights(387) = 0.0016190885082294590325;
  weights(388) = 0.0016190885082294590325;
  weights(389) = 0.0016190885082294590325;
  weights(390) = 0.0016190885082294590325;
  weights(391) = 0.0016190885082294590325;
  weights(392) = 0.0016190885082294590325;
  weights(393) = 0.0019800098957543778126;
  weights(394) = 0.0019800098957543778126;
  weights(395) = 0.0019800098957543778126;
  weights(396) = 0.00041597544445190790885;
  weights(397) = 0.00041597544445190790885;
  weights(398) = 0.00041597544445190790885;
  weights(399) = 0.0026822045354474625088;
  weights(400) = 0.0026822045354474625088;
  weights(401) = 0.0026822045354474625088;
  weights(402) = 0.0030633868037770310179;
  weights(403) = 0.0030633868037770310179;
  weights(404) = 0.0030633868037770310179;
  weights(405) = 3.2305714954225254391e-05;
  weights(406) = 3.2305714954225254391e-05;
  weights(407) = 3.2305714954225254391e-05;
  weights(408) = 0.0020526914294637763243;
  weights(409) = 0.0020526914294637763243;
  weights(410) = 0.0020526914294637763243;
  weights(411) = 0.0020526914294637763243;
  weights(412) = 0.0020526914294637763243;
  weights(413) = 0.0020526914294637763243;
  weights(414) = 0.00053417936617105254114;
  weights(415) = 0.00053417936617105254114;
  weights(416) = 0.00053417936617105254114;
  weights(417) = 0.00053417936617105254114;
  weights(418) = 0.00053417936617105254114;
  weights(419) = 0.00053417936617105254114;
  weights(420) = 7.1159945807491625704e-05;
  weights(421) = 7.1159945807491625704e-05;
  weights(422) = 7.1159945807491625704e-05;
  weights(423) = 7.1159945807491625704e-05;
  weights(424) = 7.1159945807491625704e-05;
  weights(425) = 7.1159945807491625704e-05;
  weights(426) = 0.00039427758272663480151;
  weights(427) = 0.00039427758272663480151;
  weights(428) = 0.00039427758272663480151;
  weights(429) = 8.0279235276115398128e-05;
  weights(430) = 8.0279235276115398128e-05;
  weights(431) = 8.0279235276115398128e-05;
  weights(432) = 8.0279235276115398128e-05;
  weights(433) = 8.0279235276115398128e-05;
  weights(434) = 8.0279235276115398128e-05;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 49);
}

template<>
QuadRule HardcodedQuadRule<base::RefEl::kTria(), 50>() { // NOLINT
  Eigen::MatrixXd points(2, 453);
  Eigen::VectorXd weights(453);

  points(0, 0) = 0.25635586338479082746;
  points(1, 0) = 0.256355863384790994;
  points(0, 1) = 0.48728827323041823405;
  points(1, 1) = 0.25635586338479093849;
  points(0, 2) = 0.25635586338479093849;
  points(1, 2) = 0.48728827323041834507;
  points(0, 3) = 0.44332308685834204143;
  points(1, 3) = 0.00092245610607047032452;
  points(0, 4) = 0.55575445703558745691;
  points(1, 4) = 0.44332308685834209694;
  points(0, 5) = 0.00092245610607039063567;
  points(1, 5) = 0.55575445703558778998;
  points(0, 6) = 0.55575445703558745691;
  points(1, 6) = 0.00092245610607047032452;
  points(0, 7) = 0.44332308685834204143;
  points(1, 7) = 0.55575445703558756794;
  points(0, 8) = 0.00092245610607039063567;
  points(1, 8) = 0.44332308685834231898;
  points(0, 9) = 0.025936893875790387187;
  points(1, 9) = 0.022437991262313078389;
  points(0, 10) = 0.95162511486189649279;
  points(1, 10) = 0.025936893875790300451;
  points(0, 11) = 0.022437991262313272678;
  points(1, 11) = 0.95162511486189660381;
  points(0, 12) = 0.95162511486189649279;
  points(1, 12) = 0.022437991262313078389;
  points(0, 13) = 0.025936893875790567598;
  points(1, 13) = 0.95162511486189660381;
  points(0, 14) = 0.022437991262312793894;
  points(1, 14) = 0.02593689387579074801;
  points(0, 15) = 0.24014410526326945838;
  points(1, 15) = 0.22279072829373289255;
  points(0, 16) = 0.53706516644299762131;
  points(1, 16) = 0.24014410526326954165;
  points(0, 17) = 0.22279072829373280928;
  points(1, 17) = 0.53706516644299784335;
  points(0, 18) = 0.53706516644299762131;
  points(1, 18) = 0.22279072829373289255;
  points(0, 19) = 0.24014410526326951389;
  points(1, 19) = 0.53706516644299784335;
  points(0, 20) = 0.22279072829373269826;
  points(1, 20) = 0.24014410526326968043;
  points(0, 21) = 0.13455261802664270077;
  points(1, 21) = 0.023120213970246307478;
  points(0, 22) = 0.84232716800311091543;
  points(1, 22) = 0.13455261802664267301;
  points(0, 23) = 0.023120213970246383806;
  points(1, 23) = 0.84232716800311113747;
  points(0, 24) = 0.84232716800311102645;
  points(1, 24) = 0.023120213970246307478;
  points(0, 25) = 0.13455261802664270077;
  points(1, 25) = 0.84232716800311113747;
  points(0, 26) = 0.023120213970246078494;
  points(1, 26) = 0.13455261802664303383;
  points(0, 27) = 0.045035572467331419499;
  points(1, 27) = 0.00085677979500897228672;
  points(0, 28) = 0.95410764773765954772;
  points(1, 28) = 0.045035572467331412561;
  points(0, 29) = 0.0008567797950091438075;
  points(1, 29) = 0.95410764773765965874;
  points(0, 30) = 0.95410764773765965874;
  points(1, 30) = 0.00085677979500897228672;
  points(0, 31) = 0.045035572467331530522;
  points(1, 31) = 0.95410764773765965874;
  points(0, 32) = 0.00085677979500870665719;
  points(1, 32) = 0.0450355724673317942;
  points(0, 33) = 0.40871456656777188643;
  points(1, 33) = 0.0048086376608720057119;
  points(0, 34) = 0.58647679577135614082;
  points(1, 34) = 0.40871456656777188643;
  points(0, 35) = 0.0048086376608720282633;
  points(1, 35) = 0.58647679577135625184;
  points(0, 36) = 0.58647679577135614082;
  points(1, 36) = 0.0048086376608720057119;
  points(0, 37) = 0.40871456656777194194;
  points(1, 37) = 0.58647679577135614082;
  points(0, 38) = 0.0048086376608718617298;
  points(1, 38) = 0.40871456656777216399;
  points(0, 39) = 0.17146345773998322715;
  points(1, 39) = 0.023493012359438559394;
  points(0, 40) = 0.80504352990057814754;
  points(1, 40) = 0.17146345773998322715;
  points(0, 41) = 0.023493012359438625314;
  points(1, 41) = 0.80504352990057836958;
  points(0, 42) = 0.80504352990057825856;
  points(1, 42) = 0.023493012359438559394;
  points(0, 43) = 0.17146345773998322715;
  points(1, 43) = 0.80504352990057836958;
  points(0, 44) = 0.023493012359438375514;
  points(1, 44) = 0.17146345773998356021;
  points(0, 45) = 0.0016305781421460426982;
  points(1, 45) = 0.0016305781421463356497;
  points(0, 46) = 0.99673884371570764529;
  points(1, 46) = 0.0016305781421460151595;
  points(0, 47) = 0.0016305781421465104231;
  points(1, 47) = 0.99673884371570764529;
  points(0, 48) = 0.21010592470503314244;
  points(1, 48) = 0.093396647129363574713;
  points(0, 49) = 0.69649742816560322733;
  points(1, 49) = 0.21010592470503319795;
  points(0, 50) = 0.093396647129363574713;
  points(1, 50) = 0.69649742816560344938;
  points(0, 51) = 0.69649742816560333836;
  points(1, 51) = 0.093396647129363574713;
  points(0, 52) = 0.21010592470503314244;
  points(1, 52) = 0.69649742816560344938;
  points(0, 53) = 0.093396647129363352668;
  points(1, 53) = 0.21010592470503342;
  points(0, 54) = 0.13929682011858504631;
  points(1, 54) = 0.041796636651148154351;
  points(0, 55) = 0.8189065432302667924;
  points(1, 55) = 0.13929682011858507407;
  points(0, 56) = 0.041796636651148244557;
  points(1, 56) = 0.81890654323026690342;
  points(0, 57) = 0.8189065432302667924;
  points(1, 57) = 0.041796636651148154351;
  points(0, 58) = 0.13929682011858512958;
  points(1, 58) = 0.81890654323026690342;
  points(0, 59) = 0.041796636651147953123;
  points(1, 59) = 0.13929682011858537938;
  points(0, 60) = 0.07038205391275920153;
  points(1, 60) = 0.049357311892861292779;
  points(0, 61) = 0.88026063419437949875;
  points(1, 61) = 0.070382053912759159897;
  points(0, 62) = 0.049357311892861521763;
  points(1, 62) = 0.88026063419437949875;
  points(0, 63) = 0.88026063419437960977;
  points(1, 63) = 0.049357311892861292779;
  points(0, 64) = 0.070382053912759257042;
  points(1, 64) = 0.88026063419437960977;
  points(0, 65) = 0.049357311892861091551;
  points(1, 65) = 0.070382053912759506842;
  points(0, 66) = 0.49032686924845120258;
  points(1, 66) = 0.019346261503097560153;
  points(0, 67) = 0.49032686924845125809;
  points(1, 67) = 0.4903268692484513136;
  points(0, 68) = 0.01934626150309751158;
  points(1, 68) = 0.49032686924845142462;
  points(0, 69) = 0.3726064881564939979;
  points(1, 69) = 0.15281410701216113779;
  points(0, 70) = 0.47457940483134486431;
  points(1, 70) = 0.37260648815649405341;
  points(0, 71) = 0.15281410701216105452;
  points(1, 71) = 0.47457940483134503085;
  points(0, 72) = 0.47457940483134486431;
  points(1, 72) = 0.15281410701216113779;
  points(0, 73) = 0.3726064881564939979;
  points(1, 73) = 0.47457940483134491982;
  points(0, 74) = 0.15281410701216102677;
  points(1, 74) = 0.37260648815649421994;
  points(0, 75) = 0.14791571727764407651;
  points(1, 75) = 0.065115429930621568366;
  points(0, 76) = 0.78696885279173423022;
  points(1, 76) = 0.14791571727764410427;
  points(0, 77) = 0.065115429930621637755;
  points(1, 77) = 0.78696885279173445227;
  points(0, 78) = 0.78696885279173434125;
  points(1, 78) = 0.065115429930621568366;
  points(0, 79) = 0.14791571727764418753;
  points(1, 79) = 0.78696885279173445227;
  points(0, 80) = 0.065115429930621318566;
  points(1, 80) = 0.14791571727764438182;
  points(0, 81) = 0.21402464358164369207;
  points(1, 81) = 0.023462143176020803376;
  points(0, 82) = 0.76251321324233545251;
  points(1, 82) = 0.21402464358164369207;
  points(0, 83) = 0.023462143176020910929;
  points(1, 83) = 0.76251321324233556354;
  points(0, 84) = 0.76251321324233545251;
  points(1, 84) = 0.023462143176020803376;
  points(0, 85) = 0.21402464358164374758;
  points(1, 85) = 0.76251321324233556354;
  points(0, 86) = 0.023462143176020577862;
  points(1, 86) = 0.21402464358164396963;
  points(0, 87) = 0.33026740305814400456;
  points(1, 87) = 0.052032278234411075135;
  points(0, 88) = 0.61770031870744490643;
  points(1, 88) = 0.33026740305814400456;
  points(0, 89) = 0.052032278234411089013;
  points(1, 89) = 0.61770031870744512847;
  points(0, 90) = 0.61770031870744490643;
  points(1, 90) = 0.052032278234411075135;
  points(0, 91) = 0.33026740305814406007;
  points(1, 91) = 0.61770031870744501745;
  points(0, 92) = 0.052032278234410950235;
  points(1, 92) = 0.3302674030581442266;
  points(0, 93) = 0.369984863544403908;
  points(1, 93) = 0.0014945191055323262929;
  points(0, 94) = 0.62852061735006370391;
  points(1, 94) = 0.36998486354440396351;
  points(0, 95) = 0.0014945191055323325813;
  points(1, 95) = 0.62852061735006392595;
  points(0, 96) = 0.62852061735006381493;
  points(1, 96) = 0.0014945191055323262929;
  points(0, 97) = 0.369984863544403908;
  points(1, 97) = 0.62852061735006381493;
  points(0, 98) = 0.0014945191055321938034;
  points(1, 98) = 0.36998486354440413004;
  points(0, 99) = 0.067511569043336133733;
  points(1, 99) = 0.012043746934792539521;
  points(0, 100) = 0.92044468402187129552;
  points(1, 100) = 0.0675115690433360921;
  points(0, 101) = 0.012043746934792709524;
  points(1, 101) = 0.92044468402187140654;
  points(0, 102) = 0.92044468402187140654;
  points(1, 102) = 0.012043746934792539521;
  points(0, 103) = 0.067511569043336217;
  points(1, 103) = 0.92044468402187140654;
  points(0, 104) = 0.012043746934792265435;
  points(1, 104) = 0.067511569043336439044;
  points(0, 105) = 0.43709884118009673104;
  points(1, 105) = 0.056684785543461249646;
  points(0, 106) = 0.50621637327644197768;
  points(1, 106) = 0.43709884118009678655;
  points(0, 107) = 0.056684785543461235768;
  points(1, 107) = 0.50621637327644219972;
  points(0, 108) = 0.50621637327644197768;
  points(1, 108) = 0.056684785543461249646;
  points(0, 109) = 0.43709884118009684206;
  points(1, 109) = 0.5062163732764420887;
  points(0, 110) = 0.056684785543461124746;
  points(1, 110) = 0.4370988411800970086;
  points(0, 111) = 0.42258716850752064964;
  points(1, 111) = 0.15482566298495875623;
  points(0, 112) = 0.42258716850752064964;
  points(1, 112) = 0.42258716850752070515;
  points(0, 113) = 0.15482566298495861745;
  points(1, 113) = 0.42258716850752081617;
  points(0, 114) = 0.41451222115778529886;
  points(1, 114) = 0.11486014204481570511;
  points(0, 115) = 0.47062763679739905154;
  points(1, 115) = 0.41451222115778540989;
  points(0, 116) = 0.1148601420448156496;
  points(1, 116) = 0.47062763679739916256;
  points(0, 117) = 0.47062763679739905154;
  points(1, 117) = 0.11486014204481570511;
  points(0, 118) = 0.41451222115778529886;
  points(1, 118) = 0.47062763679739910705;
  points(0, 119) = 0.11486014204481559409;
  points(1, 119) = 0.41451222115778552091;
  points(0, 120) = 0.36238051226892742385;
  points(1, 120) = 0.031264836186708888643;
  points(0, 121) = 0.606354651544363632;
  points(1, 121) = 0.36238051226892753487;
  points(0, 122) = 0.031264836186708833132;
  points(1, 122) = 0.60635465154436385404;
  points(0, 123) = 0.606354651544363632;
  points(1, 123) = 0.031264836186708888643;
  points(0, 124) = 0.36238051226892747936;
  points(1, 124) = 0.60635465154436374302;
  points(0, 125) = 0.031264836186708805377;
  points(1, 125) = 0.3623805122689277014;
  points(0, 126) = 0.3122512855112035135;
  points(1, 126) = 0.10224664014554175895;
  points(0, 127) = 0.58550207434325474143;
  points(1, 127) = 0.31225128551120356901;
  points(0, 128) = 0.10224664014554168956;
  points(1, 128) = 0.58550207434325496347;
  points(0, 129) = 0.58550207434325474143;
  points(1, 129) = 0.10224664014554175895;
  points(0, 130) = 0.3122512855112035135;
  points(1, 130) = 0.58550207434325485245;
  points(0, 131) = 0.10224664014554163405;
  points(1, 131) = 0.31225128551120373555;
  points(0, 132) = 0.48057567643403004132;
  points(1, 132) = 0.038848647131939896548;
  points(0, 133) = 0.48057567643403009683;
  points(1, 133) = 0.48057567643403009683;
  points(0, 134) = 0.038848647131939834098;
  points(1, 134) = 0.48057567643403026336;
  points(0, 135) = 0.39268932170368786583;
  points(1, 135) = 0.048349301873072930702;
  points(0, 136) = 0.55896137642323917571;
  points(1, 136) = 0.39268932170368797685;
  points(0, 137) = 0.048349301873072902946;
  points(1, 137) = 0.55896137642323939776;
  points(0, 138) = 0.55896137642323917571;
  points(1, 138) = 0.048349301873072930702;
  points(0, 139) = 0.39268932170368797685;
  points(1, 139) = 0.55896137642323928674;
  points(0, 140) = 0.04834930187307281968;
  points(1, 140) = 0.39268932170368814338;
  points(0, 141) = 0.026063854162288027649;
  points(1, 141) = 0.0099795769296426584116;
  points(0, 142) = 0.96395656890806924455;
  points(1, 142) = 0.02606385416228802418;
  points(0, 143) = 0.0099795769296427416784;
  points(1, 143) = 0.96395656890806946659;
  points(0, 144) = 0.96395656890806935557;
  points(1, 144) = 0.0099795769296426584116;
  points(0, 145) = 0.026063854162288124794;
  points(1, 145) = 0.96395656890806946659;
  points(0, 146) = 0.0099795769296423808559;
  points(1, 146) = 0.026063854162288346838;
  points(0, 147) = 0.39839099584495540896;
  points(1, 147) = 0.083912940769928390239;
  points(0, 148) = 0.51769606338511620081;
  points(1, 148) = 0.39839099584495551998;
  points(0, 149) = 0.083912940769928334728;
  points(1, 149) = 0.51769606338511631183;
  points(0, 150) = 0.51769606338511620081;
  points(1, 150) = 0.083912940769928390239;
  points(0, 151) = 0.39839099584495546447;
  points(1, 151) = 0.51769606338511631183;
  points(0, 152) = 0.083912940769928279217;
  points(1, 152) = 0.398390995844955631;
  points(0, 153) = 0.045880391320914926112;
  points(1, 153) = 0.0067281317012842720149;
  points(0, 154) = 0.94739147697780079493;
  points(1, 154) = 0.04588039132091493999;
  points(0, 155) = 0.0067281317012843899761;
  points(1, 155) = 0.94739147697780090596;
  points(0, 156) = 0.94739147697780079493;
  points(1, 156) = 0.0067281317012842720149;
  points(0, 157) = 0.045880391320915037134;
  points(1, 157) = 0.94739147697780090596;
  points(0, 158) = 0.0067281317012839840508;
  points(1, 158) = 0.045880391320915293873;
  points(0, 159) = 0.25109830786516684764;
  points(1, 159) = 0.17730802483236846046;
  points(0, 160) = 0.57159366730246463639;
  points(1, 160) = 0.25109830786516690315;
  points(0, 161) = 0.17730802483236846046;
  points(1, 161) = 0.57159366730246485844;
  points(0, 162) = 0.57159366730246474742;
  points(1, 162) = 0.17730802483236846046;
  points(0, 163) = 0.25109830786516684764;
  points(1, 163) = 0.57159366730246485844;
  points(0, 164) = 0.17730802483236823841;
  points(1, 164) = 0.25109830786516706969;
  points(0, 165) = 0.1831369339346112235;
  points(1, 165) = 0.042684087735085612936;
  points(0, 166) = 0.77417897833030324684;
  points(1, 166) = 0.18313693393461125125;
  points(0, 167) = 0.042684087735085640691;
  points(1, 167) = 0.77417897833030335786;
  points(0, 168) = 0.77417897833030313581;
  points(1, 168) = 0.042684087735085612936;
  points(0, 169) = 0.18313693393461133452;
  points(1, 169) = 0.77417897833030313581;
  points(0, 170) = 0.04268408773508546028;
  points(1, 170) = 0.18313693393461152881;
  points(0, 171) = 0.35404630327836233983;
  points(1, 171) = 0.074392768040038151356;
  points(0, 172) = 0.57156092868159946718;
  points(1, 172) = 0.35404630327836239534;
  points(0, 173) = 0.074392768040038081967;
  points(1, 173) = 0.57156092868159980025;
  points(0, 174) = 0.57156092868159946718;
  points(1, 174) = 0.074392768040038151356;
  points(0, 175) = 0.35404630327836228432;
  points(1, 175) = 0.57156092868159968923;
  points(0, 176) = 0.074392768040038026456;
  points(1, 176) = 0.35404630327836250636;
  points(0, 177) = 0.299210987110167137;
  points(1, 177) = 0.24356894779703630594;
  points(0, 178) = 0.45722006509279650155;
  points(1, 178) = 0.29921098711016724803;
  points(0, 179) = 0.24356894779703625042;
  points(1, 179) = 0.45722006509279666808;
  points(0, 180) = 0.45722006509279661257;
  points(1, 180) = 0.24356894779703630594;
  points(0, 181) = 0.299210987110167137;
  points(1, 181) = 0.45722006509279666808;
  points(0, 182) = 0.24356894779703616716;
  points(1, 182) = 0.29921098711016730354;
  points(0, 183) = 0.29083923298541164426;
  points(1, 183) = 0.076391569745987819573;
  points(0, 184) = 0.63276919726860059168;
  points(1, 184) = 0.29083923298541169977;
  points(0, 185) = 0.076391569745987819573;
  points(1, 185) = 0.6327691972686007027;
  points(0, 186) = 0.63276919726860048065;
  points(1, 186) = 0.076391569745987819573;
  points(0, 187) = 0.29083923298541175528;
  points(1, 187) = 0.63276919726860059168;
  points(0, 188) = 0.076391569745987680795;
  points(1, 188) = 0.29083923298541186631;
  points(0, 189) = 0.18614613185330697309;
  points(1, 189) = 0.12422458966888613729;
  points(0, 190) = 0.68962927847780686186;
  points(1, 190) = 0.1861461318533070286;
  points(0, 191) = 0.12422458966888616505;
  points(1, 191) = 0.68962927847780697288;
  points(0, 192) = 0.68962927847780686186;
  points(1, 192) = 0.12422458966888613729;
  points(0, 193) = 0.1861461318533070286;
  points(1, 193) = 0.68962927847780697288;
  points(0, 194) = 0.12422458966888595688;
  points(1, 194) = 0.1861461318533072784;
  points(0, 195) = 0.13362717497122461596;
  points(1, 195) = 0.0097790083705655301421;
  points(0, 196) = 0.85659381665820988339;
  points(1, 196) = 0.13362717497122458821;
  points(0, 197) = 0.0097790083705656116742;
  points(1, 197) = 0.85659381665820999441;
  points(0, 198) = 0.85659381665820988339;
  points(1, 198) = 0.0097790083705655301421;
  points(0, 199) = 0.1336271749712247825;
  points(1, 199) = 0.85659381665820988339;
  points(0, 200) = 0.0097790083705652369739;
  points(1, 200) = 0.13362717497122497678;
  points(0, 201) = 0.068976335148211609383;
  points(1, 201) = 0.027943202048164139661;
  points(0, 202) = 0.90308046280362419544;
  points(1, 202) = 0.068976335148211609383;
  points(0, 203) = 0.027943202048164250684;
  points(1, 203) = 0.90308046280362441749;
  points(0, 204) = 0.90308046280362419544;
  points(1, 204) = 0.027943202048164139661;
  points(0, 205) = 0.068976335148211664894;
  points(1, 205) = 0.90308046280362441749;
  points(0, 206) = 0.027943202048163882922;
  points(1, 206) = 0.068976335148211956327;
  points(0, 207) = 0.26149101926980800048;
  points(1, 207) = 0.024808268510852118927;
  points(0, 208) = 0.71370071221933983896;
  points(1, 208) = 0.26149101926980805599;
  points(0, 209) = 0.02480826851085216056;
  points(1, 209) = 0.71370071221933994998;
  points(0, 210) = 0.71370071221933983896;
  points(1, 210) = 0.024808268510852118927;
  points(0, 211) = 0.2614910192698081115;
  points(1, 211) = 0.71370071221933994998;
  points(0, 212) = 0.024808268510851994026;
  points(1, 212) = 0.26149101926980833355;
  points(0, 213) = 0.043979456059116767142;
  points(1, 213) = 0.021126000427883876581;
  points(0, 214) = 0.93489454351299927648;
  points(1, 214) = 0.043979456059116732447;
  points(0, 215) = 0.021126000427884039645;
  points(1, 215) = 0.93489454351299949852;
  points(0, 216) = 0.93489454351299927648;
  points(1, 216) = 0.021126000427883876581;
  points(0, 217) = 0.043979456059116850408;
  points(1, 217) = 0.93489454351299949852;
  points(0, 218) = 0.021126000427883578209;
  points(1, 218) = 0.043979456059117051636;
  points(0, 219) = 0.24695723170731076479;
  points(1, 219) = 0.068149870254045299967;
  points(0, 220) = 0.68489289803864394912;
  points(1, 220) = 0.24695723170731073703;
  points(0, 221) = 0.068149870254045286089;
  points(1, 221) = 0.68489289803864417117;
  points(0, 222) = 0.68489289803864394912;
  points(1, 222) = 0.068149870254045299967;
  points(0, 223) = 0.2469572317073108203;
  points(1, 223) = 0.68489289803864406014;
  points(0, 224) = 0.068149870254045175066;
  points(1, 224) = 0.24695723170731098683;
  points(0, 225) = 0.19160730297984113202;
  points(1, 225) = 0.06879530690043468566;
  points(0, 226) = 0.73959739011972425171;
  points(1, 226) = 0.19160730297984113202;
  points(0, 227) = 0.068795306900434671782;
  points(1, 227) = 0.73959739011972436273;
  points(0, 228) = 0.73959739011972414069;
  points(1, 228) = 0.06879530690043468566;
  points(0, 229) = 0.19160730297984124304;
  points(1, 229) = 0.73959739011972425171;
  points(0, 230) = 0.068795306900434477493;
  points(1, 230) = 0.19160730297984146508;
  points(0, 231) = 0.31739598230853127703;
  points(1, 231) = 0.1563534771200214557;
  points(0, 232) = 0.52625054057144726727;
  points(1, 232) = 0.31739598230853133254;
  points(0, 233) = 0.15635347712002140019;
  points(1, 233) = 0.52625054057144748931;
  points(0, 234) = 0.52625054057144726727;
  points(1, 234) = 0.1563534771200214557;
  points(0, 235) = 0.31739598230853122152;
  points(1, 235) = 0.52625054057144737829;
  points(0, 236) = 0.15635347712002134468;
  points(1, 236) = 0.31739598230853149907;
  points(0, 237) = 0.39383930629984270633;
  points(1, 237) = 0.015788771135674773555;
  points(0, 238) = 0.5903719225644824542;
  points(1, 238) = 0.39383930629984281735;
  points(0, 239) = 0.015788771135674728452;
  points(1, 239) = 0.59037192256448267624;
  points(0, 240) = 0.5903719225644824542;
  points(1, 240) = 0.015788771135674773555;
  points(0, 241) = 0.39383930629984276184;
  points(1, 241) = 0.59037192256448256522;
  points(0, 242) = 0.015788771135674672941;
  points(1, 242) = 0.39383930629984298388;
  points(0, 243) = 0.3181446682127856973;
  points(1, 243) = 0.023446407967230308705;
  points(0, 244) = 0.65840892381998394889;
  points(1, 244) = 0.31814466821278575281;
  points(0, 245) = 0.023446407967230298297;
  points(1, 245) = 0.65840892381998417093;
  points(0, 246) = 0.65840892381998405991;
  points(1, 246) = 0.023446407967230308705;
  points(0, 247) = 0.31814466821278580833;
  points(1, 247) = 0.65840892381998405991;
  points(0, 248) = 0.023446407967230187275;
  points(1, 248) = 0.31814466821278597486;
  points(0, 249) = 0.28036448755799681098;
  points(1, 249) = 0.13592981347138619053;
  points(0, 250) = 0.58370569897061697073;
  points(1, 250) = 0.2803644875579968665;
  points(0, 251) = 0.13592981347138616277;
  points(1, 251) = 0.58370569897061719278;
  points(0, 252) = 0.58370569897061697073;
  points(1, 252) = 0.13592981347138619053;
  points(0, 253) = 0.28036448755799675547;
  points(1, 253) = 0.58370569897061719278;
  points(0, 254) = 0.13592981347138605175;
  points(1, 254) = 0.28036448755799703303;
  points(0, 255) = 0.22997573008415667095;
  points(1, 255) = 0.044695597013042064061;
  points(0, 256) = 0.72532867290280123029;
  points(1, 256) = 0.22997573008415667095;
  points(0, 257) = 0.044695597013042154266;
  points(1, 257) = 0.72532867290280134132;
  points(0, 258) = 0.72532867290280123029;
  points(1, 258) = 0.044695597013042064061;
  points(0, 259) = 0.22997573008415667095;
  points(1, 259) = 0.72532867290280134132;
  points(0, 260) = 0.044695597013041932222;
  points(1, 260) = 0.22997573008415694851;
  points(0, 261) = 0.34948812503713505562;
  points(1, 261) = 0.24605625068915962239;
  points(0, 262) = 0.40445562427370540526;
  points(1, 262) = 0.34948812503713511113;
  points(0, 263) = 0.24605625068915948361;
  points(1, 263) = 0.40445562427370551628;
  points(0, 264) = 0.40445562427370534975;
  points(1, 264) = 0.24605625068915962239;
  points(0, 265) = 0.34948812503713505562;
  points(1, 265) = 0.40445562427370551628;
  points(0, 266) = 0.24605625068915951137;
  points(1, 266) = 0.34948812503713516664;
  points(0, 267) = 0.096408357906222472145;
  points(1, 267) = 0.010763472737716859445;
  points(0, 268) = 0.89282816935606057474;
  points(1, 268) = 0.096408357906222486022;
  points(0, 269) = 0.010763472737716939243;
  points(1, 269) = 0.8928281693560609078;
  points(0, 270) = 0.89282816935606068576;
  points(1, 270) = 0.010763472737716859445;
  points(0, 271) = 0.096408357906222486022;
  points(1, 271) = 0.8928281693560609078;
  points(0, 272) = 0.010763472737716613115;
  points(1, 272) = 0.096408357906222805211;
  points(0, 273) = 0.10033800796659958499;
  points(1, 273) = 0.0267977697259694711;
  points(0, 274) = 0.87286422230743088146;
  points(1, 274) = 0.10033800796659957111;
  points(0, 275) = 0.026797769725969589061;
  points(1, 275) = 0.87286422230743099249;
  points(0, 276) = 0.87286422230743099249;
  points(1, 276) = 0.0267977697259694711;
  points(0, 277) = 0.1003380079665996405;
  points(1, 277) = 0.87286422230743099249;
  points(0, 278) = 0.026797769725969228238;
  points(1, 278) = 0.10033800796659991805;
  points(0, 279) = 0.28943784308397890737;
  points(1, 279) = 0.19990165663953929354;
  points(0, 280) = 0.5106605002764817991;
  points(1, 280) = 0.28943784308397896288;
  points(0, 281) = 0.19990165663953929354;
  points(1, 281) = 0.51066050027648191012;
  points(0, 282) = 0.5106605002764817991;
  points(1, 282) = 0.19990165663953929354;
  points(0, 283) = 0.28943784308397890737;
  points(1, 283) = 0.51066050027648191012;
  points(0, 284) = 0.19990165663953915476;
  points(1, 284) = 0.2894378430839790739;
  points(0, 285) = 0.45958677182441187714;
  points(1, 285) = 0.080826456351176301229;
  points(0, 286) = 0.45958677182441187714;
  points(1, 286) = 0.45958677182441193265;
  points(0, 287) = 0.080826456351176217963;
  points(1, 287) = 0.45958677182441204367;
  points(0, 288) = 0.17861645395509190282;
  points(1, 288) = 0.0096597928476049692292;
  points(0, 289) = 0.8117237531973030551;
  points(1, 289) = 0.17861645395509190282;
  points(0, 290) = 0.0096597928476050420876;
  points(1, 290) = 0.81172375319730327714;
  points(0, 291) = 0.81172375319730316612;
  points(1, 291) = 0.0096597928476049692292;
  points(0, 292) = 0.17861645395509190282;
  points(1, 292) = 0.81172375319730327714;
  points(0, 293) = 0.0096597928476047506541;
  points(1, 293) = 0.17861645395509220813;
  points(0, 294) = 0.11333323413507424837;
  points(1, 294) = 0.11333323413507453981;
  points(0, 295) = 0.77333353172985108692;
  points(1, 295) = 0.11333323413507427613;
  points(0, 296) = 0.11333323413507456756;
  points(1, 296) = 0.77333353172985130897;
  points(0, 297) = 0.28615392263125194461;
  points(1, 297) = 0.043616289025622395625;
  points(0, 298) = 0.67022978834312563201;
  points(1, 298) = 0.28615392263125200012;
  points(0, 299) = 0.043616289025622478892;
  points(1, 299) = 0.67022978834312574303;
  points(0, 300) = 0.67022978834312563201;
  points(1, 300) = 0.043616289025622395625;
  points(0, 301) = 0.28615392263125205563;
  points(1, 301) = 0.67022978834312563201;
  points(0, 302) = 0.043616289025622201336;
  points(1, 302) = 0.28615392263125227768;
  points(0, 303) = 0.22932889596089792161;
  points(1, 303) = 0.0096337955497693660012;
  points(0, 304) = 0.76103730848933270892;
  points(1, 304) = 0.22932889596089792161;
  points(0, 305) = 0.0096337955497693972262;
  points(1, 305) = 0.76103730848933293096;
  points(0, 306) = 0.76103730848933270892;
  points(1, 306) = 0.0096337955497693660012;
  points(0, 307) = 0.22932889596089789386;
  points(1, 307) = 0.76103730848933293096;
  points(0, 308) = 0.0096337955497691751816;
  points(1, 308) = 0.22932889596089822692;
  points(0, 309) = 0.35421289616647155807;
  points(1, 309) = 0.11645700215175260051;
  points(0, 310) = 0.5293301016817758553;
  points(1, 310) = 0.35421289616647166909;
  points(0, 311) = 0.11645700215175253112;
  points(1, 311) = 0.52933010168177607735;
  points(0, 312) = 0.5293301016817758553;
  points(1, 312) = 0.11645700215175260051;
  points(0, 313) = 0.35421289616647155807;
  points(1, 313) = 0.52933010168177596633;
  points(0, 314) = 0.11645700215175244785;
  points(1, 314) = 0.35421289616647183562;
  points(0, 315) = 0.34494449154498535437;
  points(1, 315) = 0.0094768771491044508787;
  points(0, 316) = 0.64557863130591019996;
  points(1, 316) = 0.34494449154498540988;
  points(0, 317) = 0.0094768771491044456745;
  points(1, 317) = 0.645578631305910422;
  points(0, 318) = 0.64557863130591008893;
  points(1, 318) = 0.0094768771491044508787;
  points(0, 319) = 0.34494449154498540988;
  points(1, 319) = 0.64557863130591019996;
  points(0, 320) = 0.0094768771491043068966;
  points(1, 320) = 0.34494449154498568744;
  points(0, 321) = 0.43167323082355385511;
  points(1, 321) = 0.027966616295997292346;
  points(0, 322) = 0.54036015288044880744;
  points(1, 322) = 0.43167323082355396613;
  points(0, 323) = 0.027966616295997170916;
  points(1, 323) = 0.54036015288044914051;
  points(0, 324) = 0.54036015288044880744;
  points(1, 324) = 0.027966616295997292346;
  points(0, 325) = 0.43167323082355391062;
  points(1, 325) = 0.54036015288044891847;
  points(0, 326) = 0.027966616295997170916;
  points(1, 326) = 0.43167323082355413266;
  points(0, 327) = 0.22079722375183960525;
  points(1, 327) = 0.14726584419679694671;
  points(0, 328) = 0.63193693205136347579;
  points(1, 328) = 0.22079722375183966077;
  points(0, 329) = 0.14726584419679694671;
  points(1, 329) = 0.63193693205136358682;
  points(0, 330) = 0.63193693205136347579;
  points(1, 330) = 0.14726584419679694671;
  points(0, 331) = 0.22079722375183968852;
  points(1, 331) = 0.63193693205136358682;
  points(0, 332) = 0.14726584419679672466;
  points(1, 332) = 0.2207972237518398273;
  points(0, 333) = 0.010939013064662921754;
  points(1, 333) = 0.01093901306466319584;
  points(0, 334) = 0.97812197387067378873;
  points(1, 334) = 0.010939013064662874916;
  points(0, 335) = 0.01093901306466338319;
  points(1, 335) = 0.9781219738706741218;
  points(0, 336) = 0.15317283509768431227;
  points(1, 336) = 0.0018705669110342494979;
  points(0, 337) = 0.84495659799128142176;
  points(1, 337) = 0.15317283509768431227;
  points(0, 338) = 0.0018705669110343214889;
  points(1, 338) = 0.8449565979912816438;
  points(0, 339) = 0.84495659799128153278;
  points(1, 339) = 0.0018705669110342494979;
  points(0, 340) = 0.15317283509768431227;
  points(1, 340) = 0.8449565979912816438;
  points(0, 341) = 0.0018705669110340022998;
  points(1, 341) = 0.15317283509768461758;
  points(0, 342) = 0.078646361951399665347;
  points(1, 342) = 0.078646361951399984536;
  points(0, 343) = 0.84270727609720030848;
  points(1, 343) = 0.07864636195139970698;
  points(0, 344) = 0.07864636195139995678;
  points(1, 344) = 0.84270727609720053053;
  points(0, 345) = 0.0091986167658109178891;
  points(1, 345) = 0.0020671401785266950261;
  points(0, 346) = 0.98873424305566226522;
  points(1, 346) = 0.009198616765810824214;
  points(0, 347) = 0.00206714017852688281;
  points(1, 347) = 0.98873424305566259829;
  points(0, 348) = 0.98873424305566237624;
  points(1, 348) = 0.0020671401785266950261;
  points(0, 349) = 0.0091986167658109629919;
  points(1, 349) = 0.98873424305566259829;
  points(0, 350) = 0.0020671401785264222409;
  points(1, 350) = 0.0091986167658112735074;
  points(0, 351) = 0.023545234257410337791;
  points(1, 351) = 0.002006380842023768301;
  points(0, 352) = 0.9744483849005658449;
  points(1, 352) = 0.023545234257410289219;
  points(0, 353) = 0.0020063808420239248598;
  points(1, 353) = 0.97444838490056606695;
  points(0, 354) = 0.9744483849005658449;
  points(1, 354) = 0.002006380842023768301;
  points(0, 355) = 0.023545234257410396772;
  points(1, 355) = 0.97444838490056606695;
  points(0, 356) = 0.0020063808420234773011;
  points(1, 356) = 0.023545234257410736778;
  points(0, 357) = 0.34572847971846615289;
  points(1, 357) = 0.19659199227953239042;
  points(0, 358) = 0.45767952800200145669;
  points(1, 358) = 0.3457284797184662084;
  points(0, 359) = 0.19659199227953230715;
  points(1, 359) = 0.45767952800200156771;
  points(0, 360) = 0.45767952800200145669;
  points(1, 360) = 0.19659199227953239042;
  points(0, 361) = 0.3457284797184662084;
  points(1, 361) = 0.45767952800200156771;
  points(0, 362) = 0.19659199227953225164;
  points(1, 362) = 0.34572847971846637494;
  points(0, 363) = 0.25016930881215732052;
  points(1, 363) = 0.10747886610223066073;
  points(0, 364) = 0.64235182508561206038;
  points(1, 364) = 0.25016930881215732052;
  points(0, 365) = 0.10747886610223067461;
  points(1, 365) = 0.64235182508561217141;
  points(0, 366) = 0.64235182508561206038;
  points(1, 366) = 0.10747886610223066073;
  points(0, 367) = 0.25016930881215743154;
  points(1, 367) = 0.64235182508561206038;
  points(0, 368) = 0.10747886610223053583;
  points(1, 368) = 0.25016930881215754257;
  points(0, 369) = 0.25554986260163292666;
  points(1, 369) = 0.001861809353265679156;
  points(0, 370) = 0.7425883280451013313;
  points(1, 370) = 0.25554986260163292666;
  points(0, 371) = 0.0018618093532657420397;
  points(1, 371) = 0.74258832804510155334;
  points(0, 372) = 0.74258832804510144232;
  points(1, 372) = 0.001861809353265679156;
  points(0, 373) = 0.25554986260163292666;
  points(1, 373) = 0.74258832804510155334;
  points(0, 374) = 0.0018618093532654922395;
  points(1, 374) = 0.25554986260163320422;
  points(0, 375) = 0.10329343526262499409;
  points(1, 375) = 0.050207292591559697648;
  points(0, 376) = 0.84649927214581532908;
  points(1, 376) = 0.10329343526262500796;
  points(0, 377) = 0.050207292591559760098;
  points(1, 377) = 0.8464992721458154401;
  points(0, 378) = 0.84649927214581532908;
  points(1, 378) = 0.050207292591559697648;
  points(0, 379) = 0.10329343526262507735;
  points(1, 379) = 0.8464992721458154401;
  points(0, 380) = 0.050207292591559475603;
  points(1, 380) = 0.10329343526262536879;
  points(0, 381) = 0.17025888236413133647;
  points(1, 381) = 0.17025888236413155852;
  points(0, 382) = 0.65948223527173710501;
  points(1, 382) = 0.17025888236413139198;
  points(0, 383) = 0.17025888236413161403;
  points(1, 383) = 0.65948223527173721603;
  points(0, 384) = 0.11348277919054020058;
  points(1, 384) = 0.079098766756874605566;
  points(0, 385) = 0.8074184540525851661;
  points(1, 385) = 0.11348277919054021445;
  points(0, 386) = 0.079098766756874716588;
  points(1, 386) = 0.80741845405258527713;
  points(0, 387) = 0.80741845405258527713;
  points(1, 387) = 0.079098766756874605566;
  points(0, 388) = 0.11348277919054028384;
  points(1, 388) = 0.80741845405258527713;
  points(0, 389) = 0.079098766756874383521;
  points(1, 389) = 0.11348277919054049201;
  points(0, 390) = 0.20200151913957284378;
  points(1, 390) = 0.0018288696800151126899;
  points(0, 391) = 0.79616961118041207346;
  points(1, 391) = 0.20200151913957284378;
  points(0, 392) = 0.0018288696800152215438;
  points(1, 392) = 0.79616961118041207346;
  points(0, 393) = 0.79616961118041207346;
  points(1, 393) = 0.0018288696800151126899;
  points(0, 394) = 0.20200151913957292704;
  points(1, 394) = 0.79616961118041207346;
  points(0, 395) = 0.0018288696800149439881;
  points(1, 395) = 0.20200151913957309358;
  points(0, 396) = 0.19963345933681711508;
  points(1, 396) = 0.19963345933681736488;
  points(0, 397) = 0.60073308132636549228;
  points(1, 397) = 0.19963345933681719835;
  points(0, 398) = 0.19963345933681730937;
  points(1, 398) = 0.6007330813263656033;
  points(0, 399) = 0.15540729334166614173;
  points(1, 399) = 0.097498460674939516069;
  points(0, 400) = 0.74709424598339435608;
  points(1, 400) = 0.15540729334166619724;
  points(0, 401) = 0.097498460674939557702;
  points(1, 401) = 0.7470942459833944671;
  points(0, 402) = 0.74709424598339435608;
  points(1, 402) = 0.097498460674939516069;
  points(0, 403) = 0.15540729334166625275;
  points(1, 403) = 0.7470942459833944671;
  points(0, 404) = 0.097498460674939307902;
  points(1, 404) = 0.15540729334166641928;
  points(0, 405) = 0.28373312584990878493;
  points(1, 405) = 0.01027104273793656708;
  points(0, 406) = 0.70599583141215471738;
  points(1, 406) = 0.28373312584990878493;
  points(0, 407) = 0.010271042737936553202;
  points(1, 407) = 0.70599583141215493942;
  points(0, 408) = 0.70599583141215460635;
  points(1, 408) = 0.01027104273793656708;
  points(0, 409) = 0.28373312584990872942;
  points(1, 409) = 0.7059958314121548284;
  points(0, 410) = 0.010271042737936386668;
  points(1, 410) = 0.28373312584990906249;
  points(0, 411) = 0.40066893254883001463;
  points(1, 411) = 0.19866213490233997074;
  points(0, 412) = 0.40066893254882995912;
  points(1, 412) = 0.40066893254883012565;
  points(0, 413) = 0.19866213490233985972;
  points(1, 413) = 0.40066893254883018116;
  points(0, 414) = 0.14061387405638414716;
  points(1, 414) = 0.14061387405638439696;
  points(0, 415) = 0.71877225188723148364;
  points(1, 415) = 0.14061387405638420267;
  points(0, 416) = 0.14061387405638442472;
  points(1, 416) = 0.71877225188723159466;
  points(0, 417) = 0.11013761071196109809;
  points(1, 417) = 0.0019450667745236705289;
  points(0, 418) = 0.88791732251351518368;
  points(1, 418) = 0.11013761071196107033;
  points(0, 419) = 0.0019450667745238292561;
  points(1, 419) = 0.8879173225135152947;
  points(0, 420) = 0.88791732251351518368;
  points(1, 420) = 0.0019450667745236705289;
  points(0, 421) = 0.1101376107119611536;
  points(1, 421) = 0.8879173225135152947;
  points(0, 422) = 0.0019450667745234198613;
  points(1, 422) = 0.11013761071196141728;
  points(0, 423) = 0.35119036444541551489;
  points(1, 423) = 0.29761927110916897021;
  points(0, 424) = 0.35119036444541551489;
  points(1, 424) = 0.35119036444541568143;
  points(0, 425) = 0.29761927110916885919;
  points(1, 425) = 0.35119036444541568143;
  points(0, 426) = 0.042250362515137973585;
  points(1, 426) = 0.042250362515138258079;
  points(0, 427) = 0.91549927496972371976;
  points(1, 427) = 0.04225036251513793889;
  points(0, 428) = 0.042250362515138362163;
  points(1, 428) = 0.91549927496972394181;
  points(0, 429) = 0.31162698639629238251;
  points(1, 429) = 0.0020127149292621213279;
  points(0, 430) = 0.68636029867444547925;
  points(1, 430) = 0.31162698639629238251;
  points(0, 431) = 0.0020127149292621937526;
  points(1, 431) = 0.68636029867444559027;
  points(0, 432) = 0.68636029867444547925;
  points(1, 432) = 0.0020127149292621213279;
  points(0, 433) = 0.31162698639629243802;
  points(1, 433) = 0.68636029867444559027;
  points(0, 434) = 0.0020127149292620272192;
  points(1, 434) = 0.31162698639629260455;
  points(0, 435) = 0.49868389831205794938;
  points(1, 435) = 0.0026322033758841506881;
  points(0, 436) = 0.49868389831205794938;
  points(1, 436) = 0.49868389831205800489;
  points(0, 437) = 0.0026322033758840457374;
  points(1, 437) = 0.49868389831205817142;
  points(0, 438) = 0.45606562754995655373;
  points(1, 438) = 0.0098798242146206152747;
  points(0, 439) = 0.53405454823542286569;
  points(1, 439) = 0.45606562754995666475;
  points(0, 440) = 0.0098798242146205250691;
  points(1, 440) = 0.53405454823542308773;
  points(0, 441) = 0.53405454823542286569;
  points(1, 441) = 0.0098798242146206152747;
  points(0, 442) = 0.45606562754995655373;
  points(1, 442) = 0.53405454823542297671;
  points(0, 443) = 0.0098798242146205528247;
  points(1, 443) = 0.45606562754995677578;
  points(0, 444) = 0.29647986751297089603;
  points(1, 444) = 0.29647986751297106256;
  points(0, 445) = 0.40704026497405809693;
  points(1, 445) = 0.29647986751297100705;
  points(0, 446) = 0.29647986751297095154;
  points(1, 446) = 0.40704026497405815244;
  points(0, 447) = 0.074059074679850914191;
  points(1, 447) = 0.0022261525470100560799;
  points(0, 448) = 0.92371477277313907006;
  points(1, 448) = 0.074059074679850914191;
  points(0, 449) = 0.0022261525470101961588;
  points(1, 449) = 0.92371477277313907006;
  points(0, 450) = 0.92371477277313907006;
  points(1, 450) = 0.0022261525470100560799;
  points(0, 451) = 0.074059074679851011336;
  points(1, 451) = 0.92371477277313907006;
  points(0, 452) = 0.0022261525470098145196;
  points(1, 452) = 0.074059074679851275014;

  weights(0) = 0.001664347587356614349;
  weights(1) = 0.001664347587356614349;
  weights(2) = 0.001664347587356614349;
  weights(3) = 0.00017366407974623860721;
  weights(4) = 0.00017366407974623860721;
  weights(5) = 0.00017366407974623860721;
  weights(6) = 0.00017366407974623860721;
  weights(7) = 0.00017366407974623860721;
  weights(8) = 0.00017366407974623860721;
  weights(9) = 0.00015002505095495388037;
  weights(10) = 0.00015002505095495388037;
  weights(11) = 0.00015002505095495388037;
  weights(12) = 0.00015002505095495388037;
  weights(13) = 0.00015002505095495388037;
  weights(14) = 0.00015002505095495388037;
  weights(15) = 0.0013652010296148933514;
  weights(16) = 0.0013652010296148933514;
  weights(17) = 0.0013652010296148933514;
  weights(18) = 0.0013652010296148933514;
  weights(19) = 0.0013652010296148933514;
  weights(20) = 0.0013652010296148933514;
  weights(21) = 0.00056648572589231254836;
  weights(22) = 0.00056648572589231254836;
  weights(23) = 0.00056648572589231254836;
  weights(24) = 0.00056648572589231254836;
  weights(25) = 0.00056648572589231254836;
  weights(26) = 0.00056648572589231254836;
  weights(27) = 6.8260920498352563313e-05;
  weights(28) = 6.8260920498352563313e-05;
  weights(29) = 6.8260920498352563313e-05;
  weights(30) = 6.8260920498352563313e-05;
  weights(31) = 6.8260920498352563313e-05;
  weights(32) = 6.8260920498352563313e-05;
  weights(33) = 0.00038468803339216132379;
  weights(34) = 0.00038468803339216132379;
  weights(35) = 0.00038468803339216132379;
  weights(36) = 0.00038468803339216132379;
  weights(37) = 0.00038468803339216132379;
  weights(38) = 0.00038468803339216132379;
  weights(39) = 0.00064848659730606798054;
  weights(40) = 0.00064848659730606798054;
  weights(41) = 0.00064848659730606798054;
  weights(42) = 0.00064848659730606798054;
  weights(43) = 0.00064848659730606798054;
  weights(44) = 0.00064848659730606798054;
  weights(45) = 1.8296612123184885599e-05;
  weights(46) = 1.8296612123184885599e-05;
  weights(47) = 1.8296612123184885599e-05;
  weights(48) = 0.0014029275810552158717;
  weights(49) = 0.0014029275810552158717;
  weights(50) = 0.0014029275810552158717;
  weights(51) = 0.0014029275810552158717;
  weights(52) = 0.0014029275810552158717;
  weights(53) = 0.0014029275810552158717;
  weights(54) = 0.0008544121114967038284;
  weights(55) = 0.0008544121114967038284;
  weights(56) = 0.0008544121114967038284;
  weights(57) = 0.0008544121114967038284;
  weights(58) = 0.0008544121114967038284;
  weights(59) = 0.0008544121114967038284;
  weights(60) = 0.00074176347160933892196;
  weights(61) = 0.00074176347160933892196;
  weights(62) = 0.00074176347160933892196;
  weights(63) = 0.00074176347160933892196;
  weights(64) = 0.00074176347160933892196;
  weights(65) = 0.00074176347160933892196;
  weights(66) = 0.00082569817863956920974;
  weights(67) = 0.00082569817863956920974;
  weights(68) = 0.00082569817863956920974;
  weights(69) = 0.0021270972166203003587;
  weights(70) = 0.0021270972166203003587;
  weights(71) = 0.0021270972166203003587;
  weights(72) = 0.0021270972166203003587;
  weights(73) = 0.0021270972166203003587;
  weights(74) = 0.0021270972166203003587;
  weights(75) = 0.001098899793359189728;
  weights(76) = 0.001098899793359189728;
  weights(77) = 0.001098899793359189728;
  weights(78) = 0.001098899793359189728;
  weights(79) = 0.001098899793359189728;
  weights(80) = 0.001098899793359189728;
  weights(81) = 0.00077429097394581902856;
  weights(82) = 0.00077429097394581902856;
  weights(83) = 0.00077429097394581902856;
  weights(84) = 0.00077429097394581902856;
  weights(85) = 0.00077429097394581902856;
  weights(86) = 0.00077429097394581902856;
  weights(87) = 0.0013016402650767849164;
  weights(88) = 0.0013016402650767849164;
  weights(89) = 0.0013016402650767849164;
  weights(90) = 0.0013016402650767849164;
  weights(91) = 0.0013016402650767849164;
  weights(92) = 0.0013016402650767849164;
  weights(93) = 0.0002330851320516272372;
  weights(94) = 0.0002330851320516272372;
  weights(95) = 0.0002330851320516272372;
  weights(96) = 0.0002330851320516272372;
  weights(97) = 0.0002330851320516272372;
  weights(98) = 0.0002330851320516272372;
  weights(99) = 0.00032878857818675633626;
  weights(100) = 0.00032878857818675633626;
  weights(101) = 0.00032878857818675633626;
  weights(102) = 0.00032878857818675633626;
  weights(103) = 0.00032878857818675633626;
  weights(104) = 0.00032878857818675633626;
  weights(105) = 0.0013932327047496862338;
  weights(106) = 0.0013932327047496862338;
  weights(107) = 0.0013932327047496862338;
  weights(108) = 0.0013932327047496862338;
  weights(109) = 0.0013932327047496862338;
  weights(110) = 0.0013932327047496862338;
  weights(111) = 0.002129548339095735203;
  weights(112) = 0.002129548339095735203;
  weights(113) = 0.002129548339095735203;
  weights(114) = 0.0020648284765708430077;
  weights(115) = 0.0020648284765708430077;
  weights(116) = 0.0020648284765708430077;
  weights(117) = 0.0020648284765708430077;
  weights(118) = 0.0020648284765708430077;
  weights(119) = 0.0020648284765708430077;
  weights(120) = 0.001077141458663732421;
  weights(121) = 0.001077141458663732421;
  weights(122) = 0.001077141458663732421;
  weights(123) = 0.001077141458663732421;
  weights(124) = 0.001077141458663732421;
  weights(125) = 0.001077141458663732421;
  weights(126) = 0.0017379761008355447925;
  weights(127) = 0.0017379761008355447925;
  weights(128) = 0.0017379761008355447925;
  weights(129) = 0.0017379761008355447925;
  weights(130) = 0.0017379761008355447925;
  weights(131) = 0.0017379761008355447925;
  weights(132) = 0.0012121399787049466114;
  weights(133) = 0.0012121399787049466114;
  weights(134) = 0.0012121399787049466114;
  weights(135) = 0.0013533071271985476925;
  weights(136) = 0.0013533071271985476925;
  weights(137) = 0.0013533071271985476925;
  weights(138) = 0.0013533071271985476925;
  weights(139) = 0.0013533071271985476925;
  weights(140) = 0.0013533071271985476925;
  weights(141) = 0.00019288964349106345634;
  weights(142) = 0.00019288964349106345634;
  weights(143) = 0.00019288964349106345634;
  weights(144) = 0.00019288964349106345634;
  weights(145) = 0.00019288964349106345634;
  weights(146) = 0.00019288964349106345634;
  weights(147) = 0.0017198332146128097672;
  weights(148) = 0.0017198332146128097672;
  weights(149) = 0.0017198332146128097672;
  weights(150) = 0.0017198332146128097672;
  weights(151) = 0.0017198332146128097672;
  weights(152) = 0.0017198332146128097672;
  weights(153) = 0.00021901346854518550459;
  weights(154) = 0.00021901346854518550459;
  weights(155) = 0.00021901346854518550459;
  weights(156) = 0.00021901346854518550459;
  weights(157) = 0.00021901346854518550459;
  weights(158) = 0.00021901346854518550459;
  weights(159) = 0.0022030072639051346065;
  weights(160) = 0.0022030072639051346065;
  weights(161) = 0.0022030072639051346065;
  weights(162) = 0.0022030072639051346065;
  weights(163) = 0.0022030072639051346065;
  weights(164) = 0.0022030072639051346065;
  weights(165) = 0.001008750404227688963;
  weights(166) = 0.001008750404227688963;
  weights(167) = 0.001008750404227688963;
  weights(168) = 0.001008750404227688963;
  weights(169) = 0.001008750404227688963;
  weights(170) = 0.001008750404227688963;
  weights(171) = 0.0016191393022748274723;
  weights(172) = 0.0016191393022748274723;
  weights(173) = 0.0016191393022748274723;
  weights(174) = 0.0016191393022748274723;
  weights(175) = 0.0016191393022748274723;
  weights(176) = 0.0016191393022748274723;
  weights(177) = 0.0023331053995969863908;
  weights(178) = 0.0023331053995969863908;
  weights(179) = 0.0023331053995969863908;
  weights(180) = 0.0023331053995969863908;
  weights(181) = 0.0023331053995969863908;
  weights(182) = 0.0023331053995969863908;
  weights(183) = 0.0015796129088774364061;
  weights(184) = 0.0015796129088774364061;
  weights(185) = 0.0015796129088774364061;
  weights(186) = 0.0015796129088774364061;
  weights(187) = 0.0015796129088774364061;
  weights(188) = 0.0015796129088774364061;
  weights(189) = 0.0017367922592231238924;
  weights(190) = 0.0017367922592231238924;
  weights(191) = 0.0017367922592231238924;
  weights(192) = 0.0017367922592231238924;
  weights(193) = 0.0017367922592231238924;
  weights(194) = 0.0017367922592231238924;
  weights(195) = 0.00044769644020489909398;
  weights(196) = 0.00044769644020489909398;
  weights(197) = 0.00044769644020489909398;
  weights(198) = 0.00044769644020489909398;
  weights(199) = 0.00044769644020489909398;
  weights(200) = 0.00044769644020489909398;
  weights(201) = 0.00054023924181268877156;
  weights(202) = 0.00054023924181268877156;
  weights(203) = 0.00054023924181268877156;
  weights(204) = 0.00054023924181268877156;
  weights(205) = 0.00054023924181268877156;
  weights(206) = 0.00054023924181268877156;
  weights(207) = 0.00090648722455497182226;
  weights(208) = 0.00090648722455497182226;
  weights(209) = 0.00090648722455497182226;
  weights(210) = 0.00090648722455497182226;
  weights(211) = 0.00090648722455497182226;
  weights(212) = 0.00090648722455497182226;
  weights(213) = 0.00038257856524316592121;
  weights(214) = 0.00038257856524316592121;
  weights(215) = 0.00038257856524316592121;
  weights(216) = 0.00038257856524316592121;
  weights(217) = 0.00038257856524316592121;
  weights(218) = 0.00038257856524316592121;
  weights(219) = 0.001428840852139519552;
  weights(220) = 0.001428840852139519552;
  weights(221) = 0.001428840852139519552;
  weights(222) = 0.001428840852139519552;
  weights(223) = 0.001428840852139519552;
  weights(224) = 0.001428840852139519552;
  weights(225) = 0.0013279060452758455809;
  weights(226) = 0.0013279060452758455809;
  weights(227) = 0.0013279060452758455809;
  weights(228) = 0.0013279060452758455809;
  weights(229) = 0.0013279060452758455809;
  weights(230) = 0.0013279060452758455809;
  weights(231) = 0.0022387188105532284874;
  weights(232) = 0.0022387188105532284874;
  weights(233) = 0.0022387188105532284874;
  weights(234) = 0.0022387188105532284874;
  weights(235) = 0.0022387188105532284874;
  weights(236) = 0.0022387188105532284874;
  weights(237) = 0.00082675863063671681252;
  weights(238) = 0.00082675863063671681252;
  weights(239) = 0.00082675863063671681252;
  weights(240) = 0.00082675863063671681252;
  weights(241) = 0.00082675863063671681252;
  weights(242) = 0.00082675863063671681252;
  weights(243) = 0.00097249481785727036852;
  weights(244) = 0.00097249481785727036852;
  weights(245) = 0.00097249481785727036852;
  weights(246) = 0.00097249481785727036852;
  weights(247) = 0.00097249481785727036852;
  weights(248) = 0.00097249481785727036852;
  weights(249) = 0.0020272587903587685476;
  weights(250) = 0.0020272587903587685476;
  weights(251) = 0.0020272587903587685476;
  weights(252) = 0.0020272587903587685476;
  weights(253) = 0.0020272587903587685476;
  weights(254) = 0.0020272587903587685476;
  weights(255) = 0.0011735985049339679905;
  weights(256) = 0.0011735985049339679905;
  weights(257) = 0.0011735985049339679905;
  weights(258) = 0.0011735985049339679905;
  weights(259) = 0.0011735985049339679905;
  weights(260) = 0.0011735985049339679905;
  weights(261) = 0.0027098983409457647574;
  weights(262) = 0.0027098983409457647574;
  weights(263) = 0.0027098983409457647574;
  weights(264) = 0.0027098983409457647574;
  weights(265) = 0.0027098983409457647574;
  weights(266) = 0.0027098983409457647574;
  weights(267) = 0.00041070955777808623851;
  weights(268) = 0.00041070955777808623851;
  weights(269) = 0.00041070955777808623851;
  weights(270) = 0.00041070955777808623851;
  weights(271) = 0.00041070955777808623851;
  weights(272) = 0.00041070955777808623851;
  weights(273) = 0.00066656153739098216761;
  weights(274) = 0.00066656153739098216761;
  weights(275) = 0.00066656153739098216761;
  weights(276) = 0.00066656153739098216761;
  weights(277) = 0.00066656153739098216761;
  weights(278) = 0.00066656153739098216761;
  weights(279) = 0.0023363011519203407199;
  weights(280) = 0.0023363011519203407199;
  weights(281) = 0.0023363011519203407199;
  weights(282) = 0.0023363011519203407199;
  weights(283) = 0.0023363011519203407199;
  weights(284) = 0.0023363011519203407199;
  weights(285) = 0.0017913556055310531512;
  weights(286) = 0.0017913556055310531512;
  weights(287) = 0.0017913556055310531512;
  weights(288) = 0.00052367462217551240516;
  weights(289) = 0.00052367462217551240516;
  weights(290) = 0.00052367462217551240516;
  weights(291) = 0.00052367462217551240516;
  weights(292) = 0.00052367462217551240516;
  weights(293) = 0.00052367462217551240516;
  weights(294) = 0.0013897994002223313433;
  weights(295) = 0.0013897994002223313433;
  weights(296) = 0.0013897994002223313433;
  weights(297) = 0.0012785064104470678266;
  weights(298) = 0.0012785064104470678266;
  weights(299) = 0.0012785064104470678266;
  weights(300) = 0.0012785064104470678266;
  weights(301) = 0.0012785064104470678266;
  weights(302) = 0.0012785064104470678266;
  weights(303) = 0.00057688296406572278467;
  weights(304) = 0.00057688296406572278467;
  weights(305) = 0.00057688296406572278467;
  weights(306) = 0.00057688296406572278467;
  weights(307) = 0.00057688296406572278467;
  weights(308) = 0.00057688296406572278467;
  weights(309) = 0.0021118787915445271647;
  weights(310) = 0.0021118787915445271647;
  weights(311) = 0.0021118787915445271647;
  weights(312) = 0.0021118787915445271647;
  weights(313) = 0.0021118787915445271647;
  weights(314) = 0.0021118787915445271647;
  weights(315) = 0.00066870875725154831342;
  weights(316) = 0.00066870875725154831342;
  weights(317) = 0.00066870875725154831342;
  weights(318) = 0.00066870875725154831342;
  weights(319) = 0.00066870875725154831342;
  weights(320) = 0.00066870875725154831342;
  weights(321) = 0.0011907116522871035672;
  weights(322) = 0.0011907116522871035672;
  weights(323) = 0.0011907116522871035672;
  weights(324) = 0.0011907116522871035672;
  weights(325) = 0.0011907116522871035672;
  weights(326) = 0.0011907116522871035672;
  weights(327) = 0.0021414262260095202201;
  weights(328) = 0.0021414262260095202201;
  weights(329) = 0.0021414262260095202201;
  weights(330) = 0.0021414262260095202201;
  weights(331) = 0.0021414262260095202201;
  weights(332) = 0.0021414262260095202201;
  weights(333) = 0.00014997609345740334436;
  weights(334) = 0.00014997609345740334436;
  weights(335) = 0.00014997609345740334436;
  weights(336) = 0.00022034697926882085305;
  weights(337) = 0.00022034697926882085305;
  weights(338) = 0.00022034697926882085305;
  weights(339) = 0.00022034697926882085305;
  weights(340) = 0.00022034697926882085305;
  weights(341) = 0.00022034697926882085305;
  weights(342) = 0.0010339358335398870017;
  weights(343) = 0.0010339358335398870017;
  weights(344) = 0.0010339358335398870017;
  weights(345) = 5.7822628875399918942e-05;
  weights(346) = 5.7822628875399918942e-05;
  weights(347) = 5.7822628875399918942e-05;
  weights(348) = 5.7822628875399918942e-05;
  weights(349) = 5.7822628875399918942e-05;
  weights(350) = 5.7822628875399918942e-05;
  weights(351) = 9.1212550901991092372e-05;
  weights(352) = 9.1212550901991092372e-05;
  weights(353) = 9.1212550901991092372e-05;
  weights(354) = 9.1212550901991092372e-05;
  weights(355) = 9.1212550901991092372e-05;
  weights(356) = 9.1212550901991092372e-05;
  weights(357) = 0.0025675579236343845126;
  weights(358) = 0.0025675579236343845126;
  weights(359) = 0.0025675579236343845126;
  weights(360) = 0.0025675579236343845126;
  weights(361) = 0.0025675579236343845126;
  weights(362) = 0.0025675579236343845126;
  weights(363) = 0.001952527855077325911;
  weights(364) = 0.001952527855077325911;
  weights(365) = 0.001952527855077325911;
  weights(366) = 0.001952527855077325911;
  weights(367) = 0.001952527855077325911;
  weights(368) = 0.001952527855077325911;
  weights(369) = 0.00026410877991695348808;
  weights(370) = 0.00026410877991695348808;
  weights(371) = 0.00026410877991695348808;
  weights(372) = 0.00026410877991695348808;
  weights(373) = 0.00026410877991695348808;
  weights(374) = 0.00026410877991695348808;
  weights(375) = 0.00094953173792352901696;
  weights(376) = 0.00094953173792352901696;
  weights(377) = 0.00094953173792352901696;
  weights(378) = 0.00094953173792352901696;
  weights(379) = 0.00094953173792352901696;
  weights(380) = 0.00094953173792352901696;
  weights(381) = 0.0020138554942591554639;
  weights(382) = 0.0020138554942591554639;
  weights(383) = 0.0020138554942591554639;
  weights(384) = 0.0011670296560818487711;
  weights(385) = 0.0011670296560818487711;
  weights(386) = 0.0011670296560818487711;
  weights(387) = 0.0011670296560818487711;
  weights(388) = 0.0011670296560818487711;
  weights(389) = 0.0011670296560818487711;
  weights(390) = 0.00024133533898984484058;
  weights(391) = 0.00024133533898984484058;
  weights(392) = 0.00024133533898984484058;
  weights(393) = 0.00024133533898984484058;
  weights(394) = 0.00024133533898984484058;
  weights(395) = 0.00024133533898984484058;
  weights(396) = 0.0022853369445630898615;
  weights(397) = 0.0022853369445630898615;
  weights(398) = 0.0022853369445630898615;
  weights(399) = 0.0016245097246606987444;
  weights(400) = 0.0016245097246606987444;
  weights(401) = 0.0016245097246606987444;
  weights(402) = 0.0016245097246606987444;
  weights(403) = 0.0016245097246606987444;
  weights(404) = 0.0016245097246606987444;
  weights(405) = 0.00065988345838382611933;
  weights(406) = 0.00065988345838382611933;
  weights(407) = 0.00065988345838382611933;
  weights(408) = 0.00065988345838382611933;
  weights(409) = 0.00065988345838382611933;
  weights(410) = 0.00065988345838382611933;
  weights(411) = 0.0025826779637269365979;
  weights(412) = 0.0025826779637269365979;
  weights(413) = 0.0025826779637269365979;
  weights(414) = 0.0017426316767263280976;
  weights(415) = 0.0017426316767263280976;
  weights(416) = 0.0017426316767263280976;
  weights(417) = 0.00019836463052220646786;
  weights(418) = 0.00019836463052220646786;
  weights(419) = 0.00019836463052220646786;
  weights(420) = 0.00019836463052220646786;
  weights(421) = 0.00019836463052220646786;
  weights(422) = 0.00019836463052220646786;
  weights(423) = 0.002928407226959226211;
  weights(424) = 0.002928407226959226211;
  weights(425) = 0.002928407226959226211;
  weights(426) = 0.00059947439191922419297;
  weights(427) = 0.00059947439191922419297;
  weights(428) = 0.00059947439191922419297;
  weights(429) = 0.00029279672051056723162;
  weights(430) = 0.00029279672051056723162;
  weights(431) = 0.00029279672051056723162;
  weights(432) = 0.00029279672051056723162;
  weights(433) = 0.00029279672051056723162;
  weights(434) = 0.00029279672051056723162;
  weights(435) = 0.00037466102705260531007;
  weights(436) = 0.00037466102705260531007;
  weights(437) = 0.00037466102705260531007;
  weights(438) = 0.0007003874423755923357;
  weights(439) = 0.0007003874423755923357;
  weights(440) = 0.0007003874423755923357;
  weights(441) = 0.0007003874423755923357;
  weights(442) = 0.0007003874423755923357;
  weights(443) = 0.0007003874423755923357;
  weights(444) = 0.0028868194517961544114;
  weights(445) = 0.0028868194517961544114;
  weights(446) = 0.0028868194517961544114;
  weights(447) = 0.00018525277440708607236;
  weights(448) = 0.00018525277440708607236;
  weights(449) = 0.00018525277440708607236;
  weights(450) = 0.00018525277440708607236;
  weights(451) = 0.00018525277440708607236;
  weights(452) = 0.00018525277440708607236;

  return QuadRule(base::RefEl::kTria(), std::move(points), std::move(weights), 50);
}

// clang-format on

}  // namespace lf::quad::detail
